一、原理(四大要點)
(1)保證元數據一致(edits)
namenode(fsimage? edits)
a、NFS
b、journalnode
c、zk
(2)只有一臺namenode對外提供服務(proxy)
(3)接受datanode的心跳
(4)隔離
二、HDFS HA啟動并測試
在Bigdata01.xxxx.com中配置:
Core-site.xml
hdfs-site.xml
把hadoop分別拷貝到bigdata02與bigdata03
$scp -r hadoop-2.5.2/ bigdata03.xxxx.com:/home/jit/app
按照以下步驟啟動
啟動服務
Step1 :啟動Zookeeper集群bin/zkServer.sh start
在各個JournalNode節點上,輸入以下命令啟動journalnode服務:
$ sbin/hadoop-daemon.sh start journalnode
Step2:在[nn1]上,對其進行格式化,并啟動:
$ bin/hdfs namenode –format
初始化HA在Zookeeper中狀態bin/hdfs zkfc -formatZK
$ sbin/hadoop-daemon.sh start namenode
在各個NameNode節點上啟動DFSZK Failover Controller,先在那臺機器啟動,那個機器的NameNode就是Active NameNode
sbin/hadoop-daemin.sh start zkfc
Step3:在[nn2]上,同步nn1的元數據信息:
$ bin/hdfs namenode -bootstrapStandby
Step4:啟動[nn2]:
$ sbin/hadoop-daemon.sh start namenode
Step6:在[nn1]上,啟動所有datanode
$ sbin/hadoop-daemons.sh start datanode
Bigdata01
Bigdata02
Bigdata03
Kill -9 bigdata01的namenode
Bigdata02變為active
上傳文件
三、和ResouceManager Restart功能及配置部署與測試
三臺機器yarn-site.xml分配進行配置
進行yarn啟動,并查看yarn的狀態
Kill掉rm1后
Rm2狀態變為active
重啟rm1后狀態變為standy