在Hadoop HDFS的高可用(HA)架构中,JournalNode(简称JN)的数量通常被要求或建议配置为奇数个(如3、5、7个)。这主要是由其底层的Quorum(多数派/过半)共识机制决定的。 具体原因可以从以下几个核心维度来理解: 1. Quorum(多数派)机制的数学逻辑 JournalNode集群在工作时,Active NameNode 必须成功将 EditLog(元数据修改日志)写入到 半数以上(> N/2) 的 JournalNode 中,这次写操作才算成功。 我们来对比一下奇数和偶数节点在容错能力上的数学差异: 公式:多数派要求的最少存活节点数 = (向下取整) 允许宕机的节点数 = | 总节点数 (N) | 多数派需要存活的最少节点数 | 最大允许宕机/故障的节点数 | | :---: | :---: | :---: | | 3 | (3/2)+1 = 2 | 3 - 2 = 1 | | 4 | (4/2)+1 = 3 | 4 - 3 = 1 | | 5 | (5/2)+1 = 3 | 5 - 3 = 2 | | 6 | (6/2)+1 = 4 | 6 - 4...