Hadoop学习笔记(六)HDFS高可用集群
架构图

组件介绍
ZKFailoverController 是基于Zookeeper的故障转移控制器,它负责控制NameNode的主备切换, ZKFailoverController会检测NameNode的健康状态,当发现Active NameNode出现异常时会通过Zookeeper进行一次新的选举,完成Active和Standby状态的切换
HealthMonitor 周期性调用NameNode的HAServiceProtocol RPC接口(monitorHealth和getServiceStatus),监控NameNode的健康状态并向ZKFailoverController反馈
ActiveStandbyElector 接收ZKFC的选举请求,通过Zookeeper自动完成主备选举,选举完成后回调ZKFailoverController的主备切换方法对NameNode进行Active和Standby状态的切换
DataNode NameNode包含了HDFS的元数据信息和数据块信息(blockmap),其中数据块信息通过DataNode主动向Active NameNode和Standby NameNode上报
共享存储系统 共享存储系统负责存储HDFS的元数据(EditsLog),Active NameNode(写入)和Standby NameNode(读取)通过共享存储系统实现元数据同步,在主备切换过程中,新的Active NameNode必须确保元数据同步完成才能对外提供服务 
集群运行服务规划

Hadoop学习笔记(七)HDFS联邦机制(Federation)
背景:当集群大到一定程度后,NameNode进程使用的内存可能会达到上百G。NameNode成为了性能的瓶颈。因而提出了namenode水平扩展的方案–Federation 
|