前提
配置文件修改
etc/hadoop/hdfs-site.xml
添加以下内容
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
etc/hadoop/core-site.xml
添加以下内容(主机名根据自己的情况修改)
<property>
<name>ha.zookeeper.quorum</name>
<value>master:2181,dataone:2181,datatwo:2181</value>
</property>
同步
将以上两个修改文件发送到集群上的其他主机
关闭HDFS集群
sbin/stop-dfs.sh
启动Zookeeper集群
bin/zkServer.sh start
注意:集群上的任何一个主机都要启动Zookeeper集群
初始化HA在zookeeper中的状态
在集群中的任何一台主机上,进入hadoop的安装目录,在Zookeeper中创建一个znode节点,存储自动故障转移系统的数据
bin/hdfs zkfc -formatZK
启动HDFS集群
在初始化的主机中,启动hdfs集群
启动ZKFC守护进程
在所有配置的namenode主机上,启动ZKFC守护进程。注意:是所有配置namenode的主机。哪个主机先启动,哪个主机就是active,其他的就是standby。
sbin/hadoop-daemon.sh start zkfc