Hadoop 2.x 完全分布式HA集群环境搭建

Hadoop 2.x 完全分布式HA集群环境搭建

目录

Hadoop 2.0 环境搭建

前提:环境准备

第一步:修改hadoop-env.sh配置文件,配置好JAVA_HOME环境变量

第二步:修改hdfs-site.xml配置文件,增加如下配置

第三步:修改core-site.xml 配置文件

第四步:下载zookeeper,复制并修改zoo_sample.cfg 为 zoo.cfg文件

第五步:在Hadoop中配置slaves文件

第六步:将hadoop-2.5.2.tar.gz上传到node2、node3、node4节点/home目录下并解压

第七步:进入node2、node3、node4节点下/home/hadoop-2.5.2/sbin目录启动 journalnode

第八步:进入node1节点下/home/hadoop-2.5.2/bin格式化namenode

第九步:进入/home/hadoop-2.5.2/sbin 启动node1节点下的namenode,

第十步:进入node2(未被格式化的namenode)节点下/home/hadoop-2.5.2/bin进行格式化并启动该namenode

第十一步:进入namenode所在的节点上任意一个的/home/hadoop-2.5.2/bin格式化zkFC,

第十二步:进入node1的/home/hadoop-2.5.2/sbin停启服务

全过程总结(先后顺序)

MapReduce 配置

第一步:/home/hadoop-2.5.2/etc/hadoop配置 mapred-site.xml

第二步:/home/hadoop-2.5.2/etc/hadoop配置yarn-site.xml

第三步启动:


前提:环境准备

  1. 上传hadoop-2.5.2到/home目录下
  2. 配置好jdk环境
  3. 整体布局
  NN DN ZK ZKFC JN RM DM
node1 1   1 1   1  
node2 1 1 1 1 1   1
node3   1 1   1   1
node4   1     1   1

第一步:修改hadoop-env.sh配置文件,配置好JAVA_HOME环境变量

export JAVA_HOME=/home/java/jdk1.8.0_191

 

第二步:修改hdfs-site.xml配置文件,增加如下配置

<configuration>
    <property>
        <name>dfs.nameservices</name>
        <value>mycluster</value>
    </property>      
    <property>
        <name>dfs.ha.namenodes.mycluster</name>
        <value>nn1,nn2</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.mycluster.nn1</name>
        <value>node1:8020</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.mycluster.nn2</name>
        <value>node2:8020</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.mycluster.nn1</name>
        <value>node1:50070</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.mycluster.nn2</name>
        <value>node2:50070</value>
    </property>
    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://node2:8485;node3:8485;node4:8485/mycluster</value>
    </property>
    <property>
        <name>dfs.client.failover.proxy.provider.mycluster</name>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>
    <property>
        <name>dfs.ha.fencing.methods</name>
        <value>sshfence</value>
    </property>
    <property>
        <name>dfs.ha.fencing.ssh.private-key-files</name>
        <value>/root/.ssh/id_rsa</value>
    </property>
    <property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/opt/jn/data</value>
    </property>
    <property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property></configuration>

第三步:修改core-site.xml 配置文件

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://mycluster</value>
    </property>
    <property>
        <name>ha.zookeeper.quorum</name>
        <value>node1:2181,node2:2181,node3.com:2181</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop-2.5.2</value>
    </property>

第四步:下载zookeeper,复制并修改zoo_sample.cfg 为 zoo.cfg文件

dataDir=/opt/zookeeper

server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

创建文件夹/opt/zookeeper
vi myid ,内容为1,其余两台服务器节点相同目录分别对应指定2、3

scp -r zookeeper/ root@node2:/opt/
scp -r zookeeper/ root@node3:/opt/

将zookeeper拷贝到另外两个服务器节点

scp -r zookeeper-3.4.6 root@node2:/home/
scp -r zookeeper-3.4.6 root@node3:/home/

编辑/etc/profile文件添加zookeeper环境变量

export PATH=$PATH:/home/zookeeper-3.4.6/bin

source /etc/profile 文件使配置生效

source /etc/profile

拷贝配置文件到其余两个节点

scp /etc/profile root@node2:/etc/
scp /etc/profile root@node2:/etc/

进入/home/zookeeper-3.4.6/bin分别启动zookeeper

zkServer.sh start

第五步:在Hadoop中配置slaves文件

node2
node3
node4

第六步:将hadoop-2.5.2.tar.gz上传到node2、node3、node4节点/home目录下并解压

将node1 上的/home/hadoop-2.5.2/etc/hadoop配置文件拷贝到node2、node3、node4上

scp ./* root@node2:/home/hadoop-2.5.2/etc/hadoop/
scp ./* root@node3:/home/hadoop-2.5.2/etc/hadoop/
scp ./* root@node4:/home/hadoop-2.5.2/etc/hadoop/

第七步:进入node2、node3、node4节点下/home/hadoop-2.5.2/sbin目录启动 journalnode

./hadoop-daemon.sh start journalnode

第八步:进入node1节点下/home/hadoop-2.5.2/bin格式化namenode

./hdfs namenode -format

第九步:进入/home/hadoop-2.5.2/sbin 启动node1节点下的namenode,

./hadoop-daemon.sh start namenode

第十步:进入node2(未被格式化的namenode)节点下/home/hadoop-2.5.2/bin进行格式化并启动该namenode

./hdfs namenode -bootstrapStandby

第十一步:进入namenode所在的节点上任意一个的/home/hadoop-2.5.2/bin格式化zkFC,

./hdfs zkfc -formatZK

第十二步:进入node1的/home/hadoop-2.5.2/sbin停启服务

./stop-dfs.sh

./start-dfs.sh

全过程总结(先后顺序)

1.core-site.xml
2.hdfs-site.xml


11.全面启动:start-dfs.sh

WEB管理页面效果

 

MapReduce 配置

第一步:/home/hadoop-2.5.2/etc/hadoop配置 mapred-site.xml

<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>

第二步:/home/hadoop-2.5.2/etc/hadoop配置yarn-site.xml

<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node1</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>

第三步启动:

./start-yarn.sh

或者与HDFS一起启动

./start-all.sh

Web管理页面效果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章