在所有机器hdfs-site.xml中增加
<property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property>
在所有机器core-site.xml文件中增加
<property> <name>ha.zookeeper.quorum</name> <value>bigdata166:2181,bigdata167:2181,bigdata168:2181</value> </property>
关闭所有HDFS服务:
sbin/stop-dfs.sh
启动Zookeeper集群(可直接启动集群中的,非HA文件夹中的):
bin/zkServer.sh start
初始化HA在Zookeeper中状态(在第一或第二台机):
bin/hdfs zkfc -formatZK (此时可在zk节点中看到/hadoop-ha节点)
启动HDFS服务:
sbin/start-dfs.sh
在各个NameNode节点上启动DFSZK Failover Controller,先在哪台机器启动,哪个机器的NameNode就是Active NameNode
sbin/hadoop-daemon.sh start zkfc
验证
将Active NameNode进程kill
kill -9 namenode的进程id
将Active NameNode机器断开网络
service network stop