namenode的ha实现

本文详细介绍了Hadoop NameNode的高可用(HA)实现机制,包括Active/Standby状态同步、ZKFC故障转移控制器、HealthMonitor监控及ActivestandbyElector的选举逻辑。在主备切换过程中,通过ZooKeeper确保只有一个NameNode处于Active状态,以防止数据不一致。此外,还讨论了防止脑裂的策略,如持久节点和fencing机制。
摘要由CSDN通过智能技术生成

namenode的ha实现
1)状态为active状态的namenode向共享文件系统journalnode写入编辑文件日志,状态为standby的namenode从共享文件系统读取编辑日志,保持与active节点的同步;
2)每个datanode节点会向所有的namenode节点报告自身的信息和状态;
3)zkfc作为一个轻量级故障转移控制器,基于zookeeper实现的机制,由namenode运行的独立线程,在启动zkfc时,他会注册healthmonitor和activestandbyelector服务组件,同时会向注册的服务组件注册相应的回调方法。
其中healthmonitor主要负责监控namenode的状态,当namenode状态改变,会回调ZKFC的相应方法进行自主的主备选举。
ActivestandbyElector:主要进行主备选举,内部调用zookeeper的选举逻辑,当选举结束后,调用zkfc的相应方法切换主namenode或者备namenode的状态。
主备切换的逻辑图如下:
主备切换逻辑
1)healthmonitor监控namenode的状态,判断namennode装填是否改变
2)当namenode状态改变,则healthmonitor调用在ZKFC进行主备选举;
3)ZKFC判断是否需要进

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值