关于hdfs:HDFSHA-自动故障转移工作机制

37次阅读

共计 1020 个字符,预计需要花费 3 分钟才能阅读完成。

学习了应用命令 hdfs haadmin -failover 手动进行故障转移,在该模式下,即便现役 NameNode 曾经生效,零碎也不会主动从现役 NameNode 转移到待机 NameNode,上面学习如何配置部署 HA 主动进行故障转移。主动故障转移为 HDFS 部署减少了两个新组件:ZooKeeper 和 ZKFailoverController(ZKFC)过程,如图 3-20 所示。ZooKeeper 是保护大量协调数据,告诉客户端这些数据的扭转和监督客户端故障的高可用服务。HA 的主动故障转移依赖于 ZooKeeper 的以下性能:

1)故障检测:集群中的每个 NameNode 在 ZooKeeper 中保护了一个长久会话,如果机器解体,ZooKeeper 中的会话将终止,ZooKeeper 告诉另一个 NameNode 须要触发故障转移。

2)现役 NameNode 抉择:ZooKeeper 提供了一个简略的机制用于惟一的抉择一个节点为 active 状态。如果目前现役 NameNode 解体,另一个节点可能从 ZooKeeper 取得非凡的排外锁以表明它应该成为现役 NameNode。

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 状态。

图 3-20 HDFS-HA 故障转移机制

关键词:大数据培训

正文完
 0