关于Namenode HA和yurn HA

关于Namenode HA和yurn HA

了解如下:

HA(High Available), 高可用,是保证业务连续性的有效解决方案,一般有两个或两个以上的节 点,分为 活动节点 ( Active )及 备用节点 ( Standby) )。
用于实现业务的不中断或短暂中断
 
NN 是 HDFS 集群的单点故障点.在 HA 具体实现方法不同情况下,HA 框架的流程是一致的, 不一致的就是如何存储、管理、同步 edits 编辑日志文件。
QJM/Qurom Journal Manager,基本原理就是用 2N+1 台 JournalNode 存储 EditLog,每次 写数据操作有>=N+1 返回成功时即认为该次写成功,数据不会丢失了
在 HA 模式下,datanode 需要确保同一时间有且只有一个 NN 能命令 DN。
 
 
FailoverController 主要包括三个组件: :
HealthMonitor: 监控 NameNode 是否处于 unavailable 或 unhealthy 状态。当前通过 RPC 调用 NN 相应的方法完成。
 
ActiveStandbyElector: 监控 NN 在 ZK 中的状态。
 
ZKFailoverController: 订阅 HealthMonitor 和 ActiveStandbyElector 的事件,并管理 NN 的状态,另外 zkfc 还负责解决 fencing(也就是脑裂问题)。
 
ZKFailoverController 主要职责:
健康监测:周期性的向它监控的 NN 发送健康探测命令,从而来确定某个 NameNode
是否处于健康状态,如果机器宕机,心跳失败,那么 zkfc 就会标记它处于一个不 健康的状态
 
 
会话管理:如果 NN 是健康的,zkfc 就会在 zookeeper 中保持一个打开的会话,如果 NameNode,同时还是 Active状态的,那么 zkfc 还会在 Zookeeper 中占有一个类 型为短暂类型的 znode,
当这个 NN 挂掉时,这个 znode 将会被删除,然后备用的 NN 将会得到这把锁,升级为主 NN,同时标记状态为 Active。
当宕机的 NN 新启动时,它会再次注册 zookeper,发现已经有 znode 锁了,便会自 动变为 Standby 状态,如此往复循环,保证高可靠,需要注意,目前仅仅支持最 多配置 2 个 NN
master 选举:通过在 zookeeper 中维持一个短暂类型的 znode,来实现抢占式的 锁机制,从而判断那个 NameNode 为 Active 状态
 

yarn HA

Hadoop 2.4.0版本开始,Yarn 实现了 ResourceManager HA,
由于资源使用情况和 NodeManager 信息都可以通过 NodeManager 的心跳机制重新构建 出来,因此只需要对 ApplicationMaster 相关的信息进行持久化存储即可。
在一个典型的 HA 集群中,两台独立的机器被配置成 ResourceManger。在任意时间,有且 只允许一个活动的
 
ResourceManger,另外一个备用。切换分为两种方式:
1):手动切换:在自动恢复不可用时,管理员可用手动切换状态,或是从 Active 到 Standby,或是 从 Standby 到 Active。
 
2):自动切换:基于 Zookeeper,但是区别于 HDFS 的 HA,2 个节点间无需配置额外的ZFKC守护进程来同步数据。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值