为什么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)
“如果两个哨兵实例,即两个Redis实例,一主一从的模式。”、“如果是机器1宕机了,那哨兵1和master都宕机了”,所以到底想表达的是几个实例?
因为选举领头哨兵需要半数以上同意,只有两个哨兵时,若其中一个哨兵宕机,将无法选出领头哨兵