HDFS HA架构图

在这里插入图片描述
HA使用active NN, standby NN两个节点解决单点问题。两个NN节点通过JN集群,共享数据状态,通过ZKFC选举active(zookeeper有可能选举不成功,因为zookeeper机器上的负载较重),监控状态,自动备援。DN会同时向两个NN节点发送心跳。

我们的客户端其实不关心谁是active,谁是standby,客户端通过命名空间(nameservice1,不是进程,仅是一个参数化的配置,对外提供服务的一个名称,它不会起进程),当我们对外提供访问的时候,当nn1 active挂了,standby就会切换为active状态。client操作nameservice1就会转向为nn2。

ps:客户端不一定是命令行,也有可能是代码

active nn:
接收client的rpc请求并处理,同时自己editlog写一份,也向JN的共享存储上的editlog写一份。也同时接收DN的block report,block location updates 和 heartbeat

standby nn:
同样会接受到从JN的editlog上读取并执行这些log操作,使自己的NN的元数据和activenn的元数据是同步的,所以说standby是active nn的一个热备。一旦standby切换为active状态,就能够立即马上对外提供NN角色的服务(读和写)。也同时接收DN的block report,block location updates 和 heartbeat

secondary nn 属于checkpoint点的备份,属于冷备。
一旦做ha,secondary nn就下架了。

jn:
用于active nn,standby nn的同步数据,本身由一组的JN节点组成的集群,一般为奇数台,3台起步(CDH),支持Paxos协议,保证高可用。

ZKFC:(是个独立的进程)
监控NN的健康状态。当active挂了,ZKFC会向ZK集群定期发送心跳 ,让自己被选举,当自己被ZK选举为主时,zkfc进程通过rpc调用让nn的standby状态转换为active状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值