HA运行原理详解

欢迎大家前来观看,希望大家多多点赞!多多评论




1.HAhadoop集群拥有多个namenode,一个为active namenode  ,一个为standby namenode 这两个namenode组建成一个nameserver 也就是联邦(federation)机制。

2.ZKFC是zookpeer提供的一种服务,用来监听namenode状态,每一个namenode都被一个ZKFC来监听,ZKFC会将namenode的状态注册到zookeeper集群中。

3.当 active  namenode挂掉之后,监听这台namenode的ZKFC会将信息传输到zookpeer集群中,此时 监听standby namenode 的ZKFC 会给active  namenode发送一条远程SSH kill 指令,杀死active namenode (防止active namenode 因为cpu繁忙等原因临时挂掉而重新启动,导致集群中有多个active namenode,造成客户端不知道访问哪一个namenode而冲突。)

4.如果SSH kill 指令发送超时,则执行用户自定义shell脚本。

5,上述3,4 则为fencing机制。此时 active  namenode 与 standby  namenode 之间的转换问题就解决了。

6. 为了达到两个namenode 的元数据同步,我们需要将  namenode 中的 edits.log  共享到一个公用的地方。那么 ,我们将这些元文件放在哪里呢?

7.我们将这些文件放在Qjournal中,Qjournal也是一个集群,这个集群依赖与zookeeper。Qjournal 里面包含有journalnode  ,我们将这些元数据共享到journalnode中,方便active 与standby namenode 之间的元数据共享。

8:下图为运行机制原理图,画的很丑,希望大家谅解。

8.以上

你可能感兴趣的:(HA运行原理详解)