在Hadoop集群中,namenode管理整个hdfs系统的元数据信息,直接决定hdfs文件系统的可用性,那么在一个典型的Hadoop集群中,有两台机器被配置为namenode,一台为active,另一台为standy状态。工作中active负责工作,standy保持足够的状态来提供快速故障切换。
hdfs和zookeeper实现高可用机制
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W0nV0eA8-1603113366622)(https://s1.ax1x.com/2020/09/18/wfHOpR.png)]
journalnode 为元数据的共享文件系统,用来同步active namenode和standby namenode两个机器之间的源数据同步,active向journalnode集群中写入日志数据,而standby只能读取journalnode集群中数据,且journalnode集群中也是高可用的,元数据在每个journnode机器中都是有备份的。
而zookeeper集群来调度和保证namenode的高可用。
hdfs高可用机制的工作原理
左边为namenode(active),下面为datanode集群。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yD5ySe2b-1603113366627)(https://s1.ax1x.com/2020/09/18/wfq7W9.png)]
zookeeper组件介绍:
- ZKFC:基于zookeeper的故障转移控制器,负责namenode之间的主备切换&#