hadoop2.x namenode ha 架构原理分析

在2.x版本的ha(高可用性)的架构图中

hadoop2.x namenode ha 架构原理分析


看以看到为了完成对两个NN(NameNode)的无缝切换,DN(DataNoe)需要同时将Block信息发给两个NN,而两个NN之间需要做的是元数据信息的同步。

这里就涉及到同步的问题,共享存储。

在可靠性方面,在每一个NN上启动了DFSZKFailoverController来监听本地NN的运行状态,以便做出相应的判断处理。

而zookeeper就算为了实现一个分布式lock,防止同时出现两个active NN(同时出现两个 active NN现象称为脑裂),以及一些数据的共享。


我们可以在看这幅比较原理基本的架构图。

hadoop2.x namenode ha 架构原理分析

可以看到每一个NN上,是有HADaemon进程,定时和DFSZKFailoverController的HealthMonitor进行心跳检测。


DFSZKFailoverController其中包含了ActiveStandbyElector来选举active以及standby。


元数据信息通过QJM来实时更新。



我们可以把standby NN看成是一个safemode下的NN,不提供对外服务,但是却可以更新相应的元数据信息修改,block数据上报更新等一系列操作。后面的文章我们会重点分析出整个HA过程。主要包含了DFSZKFailoverController,QJM两部分。

你可能感兴趣的:(hadoop,源码分析,Hadoop源码)