目录
HDFS 在非 HA 模式的集群下,NameNode 和 DataNode 是一个主从的架构。在这样的主从架构之下只有一台 NameNode。一台 NameNode 的好处是无需因为元数据的同步而考虑数据的一致性问题。但是,只有一台 NameNode 也会有很多的坏处,因为,单台 NameNode 的情况下会出现所有单机都会出现的问题。最简单的问题就是,当这一台 NameNode 挂掉后,整个集群将不可用了。
为了解决单台 NameNode 挂掉不可用的问题,HDFS 在 2.x 版本的时候引入了 HDFS 集群的 HA 模式,也就是有了 NameNode 的主备架构。在 2.x 的版本中,HDFS 支持一主一备的架构,在 3.x 的版本中最多支持 5 个,官方推荐使用 3 个。(这里只整理了 HDFS 在单 NameNode 情况下挂掉的问题,没有整理关于容量的问题)。
一、HDFS 两个 NN 同步哪些数据
在 HDFS 非 HA 模式的集群下,只有一个 NameNode,而在 HDFS 的 HA 模式集群下,存在两个 NameNode,一个是活动的 NameNode,称为 Active,另外一个是备用的 NameNode,称为 Standby。当 Active 节点出现问题时,需要将 Standby 节点切换为 Act