简单了解
1,关于zookeeper
zookeeper的作用就是通过选举机制,找出leader, 你访问任何一个zookeeper节点,就会转到访问leader上
leader那台机器然后会告诉你,你要访问的目标机器,哪些可用,哪些不可用, 起到负载的作用
2,hadoop HA
hadoop HA强调的是namenode1节点不可用,进而转向namenode2节点
3 HA 过程
datanode节点安装zookeeper,选择奇数个dn用来做选举,于是有进程QuorumPeerMain
多个QuorumPeerMain选举出leader
hadoop利用自身同步机制,在namenode1和namenode2之间同步数据,于是有进程journalnode
剩下就是让zookeeper知道那个namenode是可用的
在hadoop安装时向zookeeper祖册znode
[]$hdfs zkfc -formatZK
在启动start-dfs.sh后,除了在两个namenode节点启动NameNode进程外,还会启动两个DFSZKFailoverController进程
DFSZKFailoverController,作用一:监控namenode状态,上报给zookeeper集群leader
DFSZKFailoverController,作用二:发现异常,监控进程负责将standby状态切换到active状态
namenode的数据信息保存zookeeper每个节点中,具体路径参见在hdfs-site.xml <name>dfs.journalnode.edits.dir</name>
很多文章千篇一律,不过作为基础还是可以了解下
https://blog.csdn.net/everl_1/article/details/52303011
zookeeper leader作用
https://blog.csdn.net/zhaoyangjian724/article/details/52070676
Hadoop Journal Node 作用
https://blog.csdn.net/weixin_39523998/article/details/77651673
ZKFailoverController( zkfc)介绍