Hadoop1.x:
Hadoop 的两大核心组件 HDFS 的NameNode 和 JobTracker 都存在着单点问题。
Hadoop2.x :
HDFS的NameNode 和 YARN的ResourceManger 的单点问题可以解决。
SecondaryNameNode保存的状态总是滞后于NameNode,所以这种方式难免会导致丢失部分数据,也可以解决。(NameNode和ResourceManger实现方式类似,前者更复杂)
下面主要讲HDFS NameNode的高可用(下图为HDFS NameNode 高可用架构图):
Hadoop NameNode HA.jpg
概念
Active NameNode 和 Standby NameNode:
两台 NameNode 形成互备,一台处于 Active 状态,为主 NameNode,另外一台处于 Standby 状态,为备 NameNode,只有主 NameNode 才能对外提供读写服务。
Active NN负责集群中所有客户端的操作;
Standby NN主要用于备用,它主要维持足够的状态,如果必要,可以提供快速
的故障恢复。
FailoverController(主备切换器):
FailoverController 作为独立的进程运行,对 NameNode 的