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管理頁面效果:

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