redis2主2从集群,主动挂掉一个主节点,故障转移没有生效

redis2主2从集群,主动挂掉一个主节点,故障转移没有生效

http://img1.sycdn.imooc.com//climg/5eca756b09d425fb05930260.jpg

http://img1.sycdn.imooc.com//climg/5eca756b09630c5007150350.jpg

http://img1.sycdn.imooc.com//climg/5eca74f009840fc400000000.jpg

一共四个节点 201 202 203 204  其中201,202是主节点,另外两个是从节点,看到提问区有人提过类似的问题,但是他的原因是没有设置masterauth导致(我特地截了图,四个节点的masterauth都是正确的,密码是123456),两个主节点都启动时,check节点信息,一切正常,当一个主节点挂掉时,再次check,直接显示集群状态为down,也就是故障转移没有生效,排查了很长时间,还是没有解决,不知道问题到底出在哪里,求老师解惑。。。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
提问者 红嘴鲤鱼 2020-05-24 22:02:16

找到原因了,的确是奇偶节点数的问题,无论是2主4从,还是2主2从,都不能自动进行故障转移,3主3从可以,而且,当3主3从挂掉一个主节点之后,是从3个剩余的从节点头投票产生一个新的主节点,并不是像之前理解的那样是把那个主节点所对应的从节点直接变为主节点,所以当挂掉一个节点之后,就变成了3主2从,这是如果尝试再挂掉一个主节点,则同样的出现故障无法转移的情况(因为此时从节点为偶数2),那么这就带来了新的问题,一个集群,只允许从节点为基数个,且只允许挂掉一个节点,再挂掉第二个节点时,就会由于奇偶问题选举失败,这个集群投票机制的高可用性不是显得非常的脆弱不堪吗!

  • 提问者 红嘴鲤鱼 #1
    错了错了,理解有误,确实是把把主节点对应的那个从节点变成主节点,且可以挂掉多个主节点(主要还有对应的从节点可用),至于2主2从为什么失败,我自己再研究一下。。。。
    2020-05-24 22:15:25
  • 提问者 红嘴鲤鱼 #2
    再次确认,2主2从确实实现不了故障转移,但是我有点不理解,3主3从可以,为什么2主2从不可以呢,每个节点只有一个从节点(满足奇数),为什么不能转移呢
    2020-05-24 22:29:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师