为什么Redis哨兵集群只有2个节点无法正常工作?

哨兵集群必须部署2个以上节点。

如果两个哨兵实例,即两个Redis实例,一主一从的模式。

则Redis的配置quorum=1,表示一个哨兵认为master宕机即可认为master已宕机。

但是如果是机器1宕机了,那哨兵1和master都宕机了,虽然哨兵2知道master宕机了,但是这个时候,需要majority,也就是大多数哨兵都是运行的,2个哨兵的majority就是2(2的majority=2,3的majority=2,5的majority=3,4的majority=2),2个哨兵都运行着,就可以允许执行故障转移。

但此时哨兵1没了就只有1个哨兵了了,此时就没有majority来允许执行故障转移,所以故障转移不会执行。

发表评论

后才能评论

评论(2)

  • SyntaxError: 普通 2022-07-14 11:23 下午

    “如果两个哨兵实例,即两个Redis实例,一主一从的模式。”、“如果是机器1宕机了,那哨兵1和master都宕机了”,所以到底想表达的是几个实例?

  • Noya 普通 2022-07-11 2:18 下午

    因为选举领头哨兵需要半数以上同意,只有两个哨兵时,若其中一个哨兵宕机,将无法选出领头哨兵