1. 查看zkfc进程是否挂掉

查看之前的文章:记一次flink on hadoop with per-job 报错排查 ,重新回顾一下HDFS的高可用:

主备切换的逻辑:
active节点通过zkfc将状态写到zk中,standBy对此状态感兴趣添加监听,当active宕机,zkfc立即通知standy转换为active。

当zkfc挂掉之后,这些namenode节点状态则不能维护和相互同步,就有可能都为standy。

重启zkfc之后namenode正常

 
 

2. 初始化zookeeper来重新竞选

namenode的高可用是zk维护实现的,可以尝试初始化namenode在zookeeper的元数据。

//任选一台StandBy状态的节点做zk的初始化。
hdfs zkfc -formatZK

//sbin目录下重启集群
start-dfs.sh
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐