Hadoop 2.x 完全分佈式HA集羣環境搭建
目錄
第一步:修改hadoop-env.sh配置文件,配置好JAVA_HOME環境變量
第二步:修改hdfs-site.xml配置文件,增加如下配置
第四步:下載zookeeper,複製並修改zoo_sample.cfg 爲 zoo.cfg文件
第六步:將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停啓服務
第一步:/home/hadoop-2.5.2/etc/hadoop配置 mapred-site.xml
第二步:/home/hadoop-2.5.2/etc/hadoop配置yarn-site.xml
前提:環境準備
- 上傳hadoop-2.5.2到/home目錄下
- 配置好jdk環境
- 整體佈局
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