Unable to start failover controller. Parent znode does not exist
问题描述
今天使用星环的TDH集群时,HDFS服务宕掉,在后台查看namenode 始终起不来
kubectl get pod -o wide | grep hdfs
如上图,k8s pod 起来又crash 掉,然后多次 kubectl delete pod +pod-name 重新拉起还是 crash 掉,查看日志
less /var/log/hdfs1/hadoop-hdfs-zkfc-tdh1.log
如上图,就报了 Unable to start failover controller. Parent znode does not exist
从日志中可知道是 由于Zookeeper上不存在namenode的临时节点。
登录zookeeper 的客户端
./zkCli.sh
进入可以看到没有format的ha 信息
进入namenode 节点,执行:
hdfs zkfc -formatZK
干掉k8s中的namenod 的pod ,然后重新拉起,就可以了