Namenode HA 知识点有哪些(ha,namenode,编程语言)

时间:2024-04-28 13:16:06 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

    Namenode+HA+%E7%9F%A5%E8%AF%86%E7%82%B9%E6%9C%89%E5%93%AA%E4%BA%9B

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 个 NNmaster 选举:通过在 zookeeper 中维持一个短暂类型的 znode,来实现抢占式的锁机制,从而判断那个NameNode 为 Active 状态。

本文:Namenode HA 知识点有哪些的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:ajax中error该如何使用下一篇:

2 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18