Hadoop2.7搭建

Hadoop最底部是 Hadoop Distributed File System(HDFS),它存储Hadoop集群中所有存储节点上的文件。HDFS(对于本文)的上一层是MapReduce 引擎,该引擎由 JobTrackers 和 TaskTrackers 组成。通过对Hadoop分布式计算平台最核心的分布式文件系统HDFS、MapReduce处理过程,以及数据仓库工具Hive和分布式数据库。

  • HDFS:对外部客户机而言,HDFS就像一个传统的分级文件系统。
  • NameNode:负责管理文件系统名称空间和控制外部客户机的访问。
  • DataNode:响应来自 HDFS客户机的读写请求。它们还响应来自NameNode的创建、删除和复制块的命令。

最近搞Dubbo、Zookeeper,故顺路复习一下Hadoop。

安装环境

3台CentOS7,64位,Hadoop2.7需要64位Linux,需要安装好JDK,老夫安装JDK1.7

  • Master 192.168.1.244
  • Slave1 192.168.1.245
  • Slave2 192.168.1.246

配置SSH无密码登陆

SSH免密码登录,因为Hadoop需要通过SSH登录到各个节点进行操作,老夫用root用户,每台服务器都生成公钥,再合并到authorized_keys

  • CentOS默认没有启动ssh无密登录,去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置,
    #RSAAuthentication yes
    #PubkeyAuthentication yes
    
  • 输入命令,ssh-keygen -t rsa,生成key,都不输入密码,一直回车,/root就会生成.ssh文件夹,每台服务器都要设置,
  • 合并公钥到authorized_keys文件,在Master服务器,进入/root/.ssh目录,通过SSH命令合并,
    cat id_rsa.pub>> authorized_keys
    ssh root@192.168.1.245 cat ~/.ssh/id_rsa.pub>> authorized_keys
    ssh root@192.168.1.246 cat ~/.ssh/id_rsa.pub>> authorized_keys
    
  • 把Master服务器的authorized_keys、known_hosts复制到Slave服务器的/root/.ssh目录
  • 完成,ssh root@192.168.1.245、ssh root@192.168.1.246就不需要输入密码了

安装Hadoop2.7

  • 下载“hadoop-2.7.0.tar.gz”,放到/home/hadoop目录下
  • 解压,输入命令,tar -xzvf hadoop-2.7.0.tar.gz
  • 在/home/hadoop目录下创建数据存放的文件夹,tmp、hdfs、hdfs/data、hdfs/name
  • 注:安装Hadoop2.7,只在Master服务器解压,再复制到Slave服务器

Hadoop配置

涉及的配置文件如下:

hadoop-2.6.0/etc/hadoop/hadoop-env.sh 
hadoop-2.6.0/etc/hadoop/yarn-env.sh 
hadoop-2.6.0/etc/hadoop/core-site.xml 
hadoop-2.6.0/etc/hadoop/hdfs-site.xml 
hadoop-2.6.0/etc/hadoop/mapred-site.xml 
hadoop-2.6.0/etc/hadoop/yarn-site.xml

1)配置hadoop-env.sh

# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/java/jdk1.7.0_79

2)配置yarn-env.sh

#export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/usr/java/jdk1.7.0_79/

3)配置core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.1.244:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/hadoop/tmp</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131702</value>
    </property>
</configuration>

4)配置hdfs-site.xml

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoop/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoop/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>192.168.1.244:9001</value>
    大专栏  Hadoop2.7搭建s="nt"></property>
    <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
    </property>
</configuration>

5)配置mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>192.168.1.244:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>192.168.1.244:19888</value>
    </property>
</configuration>

6)配置yarn-site.xml

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>192.168.1.244:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>192.168.1.244:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>192.168.1.244:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>192.168.1.244:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>192.168.1.244:8088</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>768</value>
    </property>
</configuration>

7)配置slaves

删除默认的localhost,增加2个从节点,
192.168.0.183
192.168.0.184

8)将配置好的Hadoop复制到各个节点对应位置上

scp -r /home/hadoop 192.168.1.245:/home/
scp -r /home/hadoop 192.168.1.246:/home/

Hadoop启动

在Master服务器启动hadoop,从节点会自动启动,进入/home/hadoop/hadoop-2.7.0目录

  • 初始化,输入命令,bin/hdfs namenode -format
  • 全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh
  • 停止的话,输入命令,sbin/stop-all.sh
  • 输入命令,jps,可以看到相关信息

Web访问

要先开放端口或者直接关闭防火墙

  • 输入命令,systemctl stop firewalld.service
  • 浏览器打开http://192.168.1.244:8088/
  • 浏览器打开http://192.168.1.244:50070/

1

注:因老夫8088端口被占用,故使用8099端口。 ⤧  Next post 归纳数据库规范 ⤧  Previous post F5负载均衡

原文地址:https://www.cnblogs.com/lijianming180/p/12256353.html