我对使用 QJM 和 HDFS 联合的 Hadoop Namenode HA 有点困惑。两者都使用多个名称节点并且都提供高可用性。我无法决定为 Namenode 高可用性使用哪种架构,因为除了 QJM 之外,两者看起来完全相同。
如果这不是这里要讨论的问题类型,请原谅我。
我对使用 QJM 和 HDFS 联合的 Hadoop Namenode HA 有点困惑。两者都使用多个名称节点并且都提供高可用性。我无法决定为 Namenode 高可用性使用哪种架构,因为除了 QJM 之外,两者看起来完全相同。
如果这不是这里要讨论的问题类型,请原谅我。
HDFS 高可用性和 HDFS 联合之间的主要区别在于联合中的名称节点彼此不相关。
在 HDFS 联合中,所有名称节点共享一个元数据池,其中每个名称节点都有自己的池,因此提供容错,即如果联合中的一个名称节点发生故障,它不会影响其他名称节点的数据。
因此,Federation = 多个名称节点并且没有相关性。
而在 HDFS HA 的情况下,有两个名称节点 - Primary NN 和 Standby NN。Primary NN 一直在努力工作,每次 Standby NN 只是坐在那里并偶尔更新它与 Primary Namenode 相关的元数据,这使得它们相关联。当 Primary NN 厌倦了这个通常的工作表(即失败)时,Standby NameNode 接管它拥有的任何最新元数据。
对于 HA 架构,您需要将至少两台单独的机器配置为 Namenode,其中只有一台应该在 Active 状态下运行。
更多详细信息:HDFS 高可用性