Redis - 在发生网络错误之后,所有redis-servers都被设置为slave,而不再使用master,因为-failover-abort-no-good-slave

时间:2017-10-23 08:39:58

标签: redis

环境两个redis-server五个哨兵 红帽企业Linux服务器版本5.11(Tikanga) Redis服务器v = 3.0.5 sha = 00000000:0 malloc = jemalloc-3.6.0 bits = 64 build = d23f872bbf615c9

由于网络错误,所有机器都被隔离,几秒钟内无法看到

master_log:576:M 10 Oct 21:56:15.082#与从属客户端ID#17278的连接丢失。             576:S 10月21日:56:26.044 * SLAVE OF 10.25.144.88:6379启用(用户请求来自' id = 1956135 addr = 10.25.144.42:50550 fd = 1298 name = sentinel-e9e5b26c-cmd age = 10 idle = 0 flags = x db = 0 sub = 0 psub = 0 multi = 3 qbuf = 0 qbuf-free = 32768 obl = 36 oll = 0 omem = 0 events = rw cmd = exec')

slave_log:4159:M 10 Oct 21:56:15.080#与主人的连接丢失了。            4159:M 10 Oct 21:56:15.080 *启用MASTER MODE(用户请求来自' id = 76394 addr = 10.25.144.42:35032 fd = 9 name = sentinel-e9e5b26c-cmd age = 97297 idle = 0 flags = x db = 0 sub = 0 psub = 0 multi = 3 qbuf = 14 qbuf-free = 32754 obl = 36 oll = 0 omem = 0 events = rw cmd = exec')4159:M 10 Oct 21:56:15.082 #CONFIG REWRITE成功执行。

sentinel2_log:25831:X 10 Oct 21:56:26.124 * + convert-to-slave slave 10.25.144.88:6379 10.25.144.88 6379 @coremaster 10.25.144.87 6379

slave_log:4159:S 10 Oct 21:56:26.128 * SLAVE OF 10.25.144.87:6379已启用(用户请求来自&#39; id = 91945 addr = 10.25.144.79:48233 fd = 6 name = sentinel-00e48109 -cmd age = 11idle = 0 flags = x db = 0 sub = 0 psub = 0 multi = 3 qbuf = 0 qbuf-free = 32768 obl = 36 oll = 0 omem = 0 events = rw cmd = exec&#39;)< / p>

主人和奴隶都是奴隶,所有新的投票支持者都以故障转移 - 中止 - 没有好奴隶结束

30120:X 10 Oct 22:03:22.011#+ new-epoch 4491 30120:X 10 Oct 22:03:22.011#+ try-failover master coremaster 10.25.144.87 6379 30120:X 10 10月22日:03:22.030#+投票给领导者8bf8389ca5d9eb8c1bfde2d5621a639028aeae9e 4491 30120:X 10 10月22日:03:22.036#10.25.144.79:26379投票给8bf8389ca5d9eb8c1bfde2d5621a639028aeae9e 4491
30120:X 10 Oct 22:03:22.044#10.25.144.87:26379投票给8bf8389ca5d9eb8c1bfde2d5621a639028aeae9e 4491
30120:X 10 Oct 22:03:22.048#10.25.144.88:26379投票给8bf8389ca5d9eb8c1bfde2d5621a639028aeae9e 4491
30120:X 10 Oct 22:03:22.054#10.25.144.80:26379投票给8bf8389ca5d9eb8c1bfde2d5621a639028aeae9e 4491
30120:X 10 Oct 22:03:22.092#+当选领导者核心大师10.25.144.87 6379 30120:X 10 Oct 22:03:22.092#+ failover-state-select-slave master coremaster 10.25.144.87 6379 30120:X 10 Oct 22:03:22.192#-failover-abort-no-good-slave master coremaster 10.25.144.87 6379

首先一切正常,主设备转换为从设备和从设备更改为主设备,但是有一个必须相信主设备已启动的标记(sentinel2_log),它向从设备指示它返回为从设备。 最后,两个redis-servers是slave,并且没有选择master。

配置文件几乎是默认配置文件

tcp-keepalive 0 stop-writes-on-bgsave-eror no

我不知道为什么会发生这种情况以及如何解决这个问题。 thnaks。任何想法都会感激不尽。

1 个答案:

答案 0 :(得分:0)

很抱歉,检查安装时我们发现还有其他一组哨兵监控主人,旧版本没有删除。

因此,问题中公开的数据一切正常,没有问题。

但是,由于安装错误,在哨兵监视器中有两组具有不同名称的哨兵 “sentinel monitor coremaster ip 6382 3”

每组哨兵命令不同的东西,结果是所有节点都是奴隶而没有主人。