博学谷 > 资讯 > 大数据 > Namenode HA 知识点讲解

原创 Namenode HA 知识点讲解

发布时间:2019-07-04 16:13:08 浏览 386 来源:博学谷资讯 作者:照照

    今天,小编准备了今天,小编准备了Namenode HA 知识点讲解,现在分享给大家。

     

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

     

    以上就是Namenode HA 知识点讲解,希望可以为帮助到这方面有疑问的同学。

上一篇:大数据Hbase面试宝典(中) 下一篇:大数据Hbase面试宝典(下)

相关推荐 更多

最新文章

扫描二维码,回复"大数据"获取20G资料包