开发者社区> 问答> 正文

HDFS-HA的自动故障转移ZKFC是什么?

HDFS-HA的自动故障转移ZKFC是什么?

展开
收起
芯在这 2021-12-11 13:23:34 673 0
1 条回答
写回答
取消 提交回答
  • ZKFC 是自动故障转移中的另一个新组件,是 ZooKeeper 的客户端,也监视和管理 NameNode 的状态。每个运行 NameNode 的主机也运行了一个 ZKFC 进程,ZKFC负责:

    1)健康监测:

    ZKFC 使用一个健康检查命令定期地 ping 与之在相同主机的 NameNode,只要该 NameNode 及时地回复健康状态,ZKFC 认为该节点是健康的。如果该节点崩溃,冻结或进入不健康状态,健康监测器标识该节点为非健康的。

    2)ZooKeeper 会话管理:

    当本地 NameNode 是健康的,ZKFC 保持一个在 ZooKeeper 中打开的会话。如果本地 NameNode 处于 active 状态,ZKFC 也保持一个特殊的 znode 锁,该锁使用了 ZooKeeper 对短暂节点的支持,如果会话终止,锁节点将自动删除。

    3)基于 ZooKeeper 的选择:

    如果本地 NameNode 是健康的,且 ZKFC 发现没有其它的节点当前持有 znode 锁,它将为自己获取该锁。如果成功,则它已经赢得了选择,并负责运行故障转移进程以使它的本地 NameNode 为 Active。故障转移进程与前面描述的手动故障转移相似,首先如果必要保护之前的现役 NameNode,然后本地 NameNode 转换为 Active 状态。

    2021-12-11 13:26:12
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
海量数据分布式存储——Apache HDFS之最新进展 立即下载
HBase 高可用HA 立即下载
HBase 数据备份与恢复 立即下载