Redis集群选举必须过半数Master同意因其采用类Raft共识机制要求至少(N/21)个在线Master投票通过以防网络分区导致脑裂和数据不一致。Redis集群选举为什么必须过半数Master同意因为Redis集群使用类Raft的分布式共识机制不是谁先喊“我当主节点”就算数——它要求至少 (N/2 1) 个主节点N 是当前在线的主节点总数在故障转移中投出“赞成票”否则晋升不生效。这是防止网络分区network partition下出现“脑裂”比如集群被切为两组各自选出一个主节点导致同一份slot数据被两个主节点同时写入彻底破坏一致性。如何验证当前集群是否满足“过半数Master在线”执行 redis-cli -c -a password cluster nodes重点看三件事统计所有状态为 master 且没有 fail 或 handshake 标记的行数 → 这是实际可用的Master数量 N检查是否有主节点显示 fail? 或长期无响应 → 它们不参与投票也不计入 N确认集群整体状态不是 fail若 redis-cli cluster info 返回 cluster_state:fail说明已跌破法定人数无法发起任何选举例如6个Master节点中2个宕机且标记为 fail则 N 4法定票数为 3若只剩2个Master在线N 2法定票数为 2但此时只要再丢1个就彻底无法选举。什么情况下会卡在“等票”阶段迟迟不晋升常见于以下真实场景 WisPaper 复旦大学研发的AI学术搜索工具5分钟内筛选1000篇论文