【问题标题】:Redis cluster does not support simultaneous fail of several master nodesRedis 集群不支持多个主节点同时故障
【发布时间】:2016-09-29 07:44:04
【问题描述】:

我有以下配置:

  • 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

【问题讨论】:

    标签: caching redis memcached redis-cluster


    【解决方案1】:

    当至少一半的主节点断开连接时,从节点自动故障转移不会发生,因为故障转移选举需要一半以上的主节点达成共识。

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

    你的情况

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

    :7003 成为主服务器后,另一个从服务器也将启动自动故障转移,因为有超过一半 (2/3) 的主服务器处于活动状态。

    【讨论】:

    • 如何确保故障的主节点重新上线后再次成为主节点,从而临时故障转移主节点再次成为从节点。
    猜你喜欢
    • 1970-01-01
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多