Namenode HA 知识点有哪些
导读:本文共1228字符,通常情况下阅读需要4分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: HA(High Available), 高可用,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,分为 活动节点( Active )及 备用节点( Standby))。用于实现业务的不中断或短暂中断 NN 是 HDFS 集群的单点故障点。在 HA 具体实现方法不同情况下,HA 框架的流程是一致的,不一致的就是如何存储、管理、同步 edits 编辑日志文... ...
目录
(为您整理了一些要点),点击可以直达。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 知识点有哪些的详细内容,希望对您有所帮助,信息来源于网络。