Hadoop高可用

Hadoop高可用架构

高可用架构有两个NameNode节点,一个是ActiveNameNode(ANN),一个是StandbyNameNode(SNN),高可用框架中只有一个活跃的NameNode节点,但是备用SNN会持续关注整个集群,并每隔一段时间向JournalNode集群同步日志,SNN也会储存合并日志和镜像并同步一份给ANN,在集群中ANN和SNN都各有一个故障转移控制器,,其中ANN的故障转移控制器中的HealthMonitor会监控ANN的状态,如果出现异常,会将异常通知给ZKFailoverontroller(ZKFC),ZKFC会通知ActiveStandbyElctor(ASE),ASE会通知zookeeper进行选举,zookeeper中有两个节点,一个是临时节点ActiveStandbyElcctorLock(Lock),一个是持久化节点ActiveBreadCrumb(Crumb),当选举认为该节点已经挂了的时候,会将临时节点给删除,同时也会将选举结果返回给ASE,ASE再将选举结果返回给ZKFC,同时,备用的SNN的故障转移控制器也对zookeeper中的临时节点进行监控在,发现zookeeper中的临时节点Lock被删除了,会马上通知ASE,ASE再通知ZKFC,ZKFC将备用的SNN的状态改变,提成活跃的节点,然后会检查zookeeper中的持久化节点是否是自己的,如果不是就进行删除,创建自己的持久化节点Crumb,如果挂掉的NameNode恢复了,会取zookeeper中查看Lock,发现不是自己的,就会变成备用NameNode

image-20240515194446862

posted @ 2024-05-11 10:12  peculiar-  阅读(4)  评论(0编辑  收藏  举报