2.1 背景
在 Hadoop2.0 之前, 在一个 HDFS 集群中, NameNode 有单点失效问(single point of failure (SPOF))题.
每个集群只有一个 NameNode, 如果运行 NameNode 的这台设备或者 NameNode 进程变成不可用, 则整个集群也变成无法使用, 直到重新启动或者在其他独立设备上重新部署.
主要从两个主要方面影响独立 HDFS 集群的可用性:
遇到像机器崩溃这样的不可预料的情况, 在管理员重启 NameNode之前, 集群将不可用.
像软件或硬件的常规升级, 也会导致运行 NameNode 的设备出现不可用的情况.
HDFS 的高可用解决了上面的这两个问题. 通过在同一个集群上运行两个冗余的 NameNode, 做到主动/被动(Active/Passive)的热备份(hot standby).
这种设计允许当一个设备崩溃时候可以快速的转移到一个新的 NameNode, 或者管理员利用故障转移达到优雅的系统升级目的.