集群出現兩個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