Hadoop HA 架构图概述

为了解决HDFS1.0的设计存在的单点故障问题,HDFS2.0开始采用了HA(High Availability高可用)架构。

 

   在HDFS HA中,设置两个NameNode,一个处于Active状态对外进行服务,另一个处于Standby状态,随时待命成为Active。因为Standby NN 是 Active NN的“热备份” ,所以Active的状态信息必须实时同步到Standby中。 状态的同步,我们一般借助JN

(JournalNode),它能使得Standby监听Active,一旦发现Active有新的写入,就立刻读取数据并加载到自己的内存里,从而使Active和Standby的状态完全同步。  

  当我们的Active挂掉时,ZKFC,一个单独地进程,会通过RPC协议将我们另一台Standby自动切换成Active,从而保证集群中一直存在一个Active对外服务。

   DN(DataNode)会不定时地向两个NN发送心跳,告知健康状态与Block信息。

 

角色:

 ACTIVE NN: 操作记录写到自己的editlog
                      同时将信息写入JN集群中
                      接收DN的心跳和块报告
           

 STANDBY NN: 同时接收JN集群的日志,显示读取执行log操作(重演),以保证两个NN的状态一致
                          接收DN的心跳和块报告

JounalNode: 用于active standby nn节点的同步数据
                     一般部署2n+1

ZKFC: 单独的进程,ZKFC是一个Zookeeper的客户端
            监控NN健康状态
            向zk集群定期发送心跳,使得自己可以被选举;
            当自己被zk选举为active的时候,zkfc进程通过RPC协议调用使NN节点的状态变为active,
            对外提供实时服务,是无感知的。

 

Zookeeper集群作用主要有:

              通过节点竞争锁的,选举哪个节点做Active,哪个节点做Standby。

              为保证选举机制,zookeeper集群也是2n+1台。   

 

 

20台节点: 5台
20~100台节点: 7/9/11台
>100台节点: 11台 
但是: 不是说zk节点越多越好 ,因为越多的zk节点,选举的时候会很慢,大大的影响了对外服务的效率。

几百台节点, zk部署的机器就它一个进程
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值