集群出现两个NameNode同时standby状态
在namenode节点jps发现DFSZKFailoverController进程消失
尝试重启DFSZKFailoverController:hadoop-daemon.sh start zkfc
发现DFSZKFailoverController进程无法启动并且报错:
FATAL org.apache.hadoop.ha.ZKFailoverController:Unable to start failover controller. Parent znode does not exist.
Run with -formatZK flag to initialize ZooKeeper.
怀疑是zookeeper出现问题
进入zookeeper检查
zkCli.sh -server zkserver:2181
ls /
发现没有/hadoop-ha结点。
重新进入hadoop namenode节点执行如下操作:
1.在zookeeper格式化zkfc
/bin/hdfs zkfc -formatZK
执行完之后在zookeeper中新建/hadoop-ha目录
2.在两个namenode节点上执行以下语句:
重启zkfc:
hadoop-daemon.sh start zkfc
自动选举avtive
hdfs haadmin -failover nn1 nn2
遇到一位出现类似问题的小伙伴,参考了他的做法,感谢!
http://blog.csdn.net/houzhizhen/article/details/44099825