开发者社区 问答 正文

Hadoop中ZKFailoverController如何申请锁?

Hadoop中ZKFailoverController如何申请锁?

展开
收起
芯在这 2021-12-11 11:20:57 269 分享 版权
1 条回答
写回答
取消 提交回答
  • 若每个namenode是健康的,则每个NN所对应的zkfc会在zookeeper中保持一个打开的会话;对于active状态的namenode,其zkfc还会在zookeeper中占有一个短暂类型的znode,当主namenode挂掉时,其znode将会被删除,其ZKFailoverController跟主NameNode无法通信,此时主NN所对应的FailoverController就会把主NN宕机的信息汇报给Zookeeper,其它的ZKFailoverController便从ZK中得到了这条信息,然后它们给各自监控的NameNode发送切换指令。当其中一个备用namenode率先得到这把锁,即可升级为主namenode,同时标记状态为active,当宕机的namenode,重新启动,他会再次注册zookeeper,若发现已经有znode了,就自动变为standby状态,如此往复循环,保证高可靠性。

    2021-12-11 11:21:10
    赞同 展开评论
问答分类:
问答标签:
问答地址: