2016-05-31 203 views
0

我有以下配置的同时失效:Redis的集群不支持多个主节点

  • Redis_version:3.2.0
  • 3的主节点和3个从节点

每主节点被复制到一个从机一切正确。当一个主节点通过“kill”命令失败时,相应的从节点将成为预期的主节点。几秒钟后,cluster_state返回到OK状态。

但是,如果两个主节点同时出现故障,则没有相关的从节点成为主节点。 cluster_state保持“失败”状态。当主人的至少一半断开连接,因为故障切换选举需要超过主人的一半进入共识

cluster nodes command output. 
b60c284a515b31aa6b11022fc07cf1a399171e04 127.0.0.1:7000 master,fail? - 1464690455030 1464690454930 1 disconnected 0-5460 
637d1f074419963653b206c5ed7cbed4c3d0ace0 127.0.0.1:7001 master,fail? - 1464690455030 1464690454930 2 disconnected 5461-10922 
d2aae2a3d87c6407e002076740c8febf80f37865 127.0.0.1:7003 myself,slave b60c284a515b31aa6b11022fc07cf1a399171e04 0 0 4 connected 
72d4c9ce140fb57436c1b21702bf3c646ef29db3 127.0.0.1:7002 master - 0 1464690718480 3 connected 10923-16383 
af34a7b2241943baf23e634e81b552d8bf23cdd0 127.0.0.1:7005 slave 72d4c9ce140fb57436c1b21702bf3c646ef29db3 0 1464690718480 6 connected 
d0fec0609c9e786ac9ca4629f36cabd7c5c3130c 127.0.0.1:7004 slave 637d1f074419963653b206c5ed7cbed4c3d0ace0 0 1464690718480 5 connected 

回答

0

奴隶自动故障转移不会发生。

要启动手动故障切换,请使用redis-cli连接到从节点并发送cluster failover TAKEOVER命令(需要takeover)。

在你的情况

redis-cli -h 127.0.0.1 -p 7003 cluster failover takeover 

:7003后成为主机,其它的从将启动自动故障转移,以及因为有超过一半(2/3)的主人还活着多。