zookeeper hadoop-ha znode丢失导致hadoop不能failover的解决办法

 今天系统维护,hdfs haadmin -failover nn1 nn2 失败。

用jps查看java进程,发现没有DFSZKFailoverController进程。

打开zkfc的日志,发现以下内容:

2015-03-06 14:24:38,262 FATAL org.apache.hadoop.ha.ZKFailoverController: Unable to start failover controller. Parent znode does not exist.
Run with -formatZK flag to initialize ZooKeeper.


原来zookeeper的结点找不到了。


进行验证:

zkCli.sh -server jn001.com

ls /

发现没有/hadoop-ha结点。


重新进入hadoop namenode服务器。

 /usr/local/hadoop/bin/hdfs zkfc -formatZK

然后在active namenode和stand by namenode上执行以下语句:

hadoop-daemon.sh start zkfc

hdfs haadmin -failover nn1 nn2

你可能感兴趣的:(hadoop)