大数据实战下笔记——Hadoop NameNode HA的原理

来源:互联网 发布:90后网络行为分析 编辑:程序博客网 时间:2024/05/21 15:44

  • NameNode高可用整体(HA)框架
  • NameNode的主备切换
  • NameNode的共享存储

一.NameNode高可用整体框架

组件:

两个NameNode,一个在Active上,一个在Standby上。Active为Hadoop提供服务。两台NameNode互备,处于Active状态的NameNode是主,处于standby状态的NameNode是备,只有主NameNode才能提供对外读写服务。

两个zookeeperFailoverController(ZKFC)是主备切换控制器,作为独立的进程运行,对Name Node的主备切换进行总体控制,能够及时检测Name Node的健康状况,在主Name Node发生故障时,可以借助zookeeper集群实现自动的主备选举和切换,也支持不依赖zookeeper集群的手动主备选举和切换。

一个zookeeper集群,为主备切换控制器提供自动主备选举和切换支持

一个共享存储系统,是实现NameNode高可用性的关键,把元数据的信息存储在共享存储系统中。共享存储系统保存了NameNode运行过程中所产生的HDFS的元数据,主、备NameNode通过共享存储实现元数据的同步,在进行主备切换时,新的主NameNode确定元数据完全同步之后才会继续对外提供服务。

多个DataNode,除了共享系统共享HDFS的元数据信息之外,主、备NameNode还需要共享HDFS的数据块和DataNode之间的映射关系,DataNode会同时向主、备NameNode上报数据块的位置信息。


二.NameNode的主备切换


NameNode的主备切换流程图

三 .NameNode的共享存储


共享集群框架图


四.Hadoop 2.0 HA高可用集群配置

待续......

0 0