redis sentinel not promote + sdown to + odown

时间:2018-06-12 15:38:06

标签: redis

我在redis-server(3.2.6-1)的三个实例上设置了3个redis-sentinel(3.2.6-1)的集群。

我检查了防火墙的6379和26379 TCP端口,这一切都很好。

我的redis-sentinel的配置是这样的:

port 26379
dir "/tmp"
sentinel myid 0559ec26112bebce70bbfa5849f77338453315b
sentinel monitor rback 10.3.0.43 6379 2
sentinel down-after-milliseconds rback 5000
sentinel failover-timeout rback 10000
daemonize yes
pidfile "/var/run/redis/redis-sentinel.pid"
loglevel notice
logfile "/var/log/redis/redis-sentinel.log"

当我启动redis-server和redis-sentinel实例时,我可以在端口26379端口sentinel master rback上查询并查看选项:

9) "flags"
10) "master"
...
31) "num-slaves"
32) "2"
33) "num-other-sentinels"
34) "2"
35) "quorum"
36) "2"

在redis-sentinel的日志中,我看到了:

26851:X 12 Jun 15:22:35.092 * +sentinel sentinel 4b22b6ff1b983432028f8cdb0db75cd553bec4b3 XXXXX 26379 @ redis-back XXXXX 6379
26851:X 12 Jun 15:22:40.105 * +sentinel sentinel 8fc263bf82226364917478541c13f2c7f5b746e6 XXXXX 26379 @ redis-back XXXXX 6379
26851:X 12 Jun 15:22:40.168 # +sdown sentinel 4b22b6ff1b983432028f8cdb0db75cd553bec4b3 XXXXX 26379 @ redis-back XXXXX 6379
26851:X 12 Jun 15:22:45.120 # +sdown sentinel 8fc263bf82226364917478541c13f2c7f5b746e6 XXXXX 26379 @ redis-back XXXXX 6379

如果我运行sleep命令或使主redis崩溃,我会看到每个sentinel都记录一个+sdown命令,但从未将其提升为+odown并推广新的主人。

我该如何调试?

由于

添加信息:

我运行tcpdump并使用wireshark分析流量,并发现哨兵正在连接到其他哨兵并尝试与之通信,但是收到了一个" DENIED Redis正在保护模式下运行... &#34 ;.即使redis-servers没有在保护模式下运行。

2 个答案:

答案 0 :(得分:0)

我没有足够的声誉来评论,因此必须将此作为答案发布。我遇到了完全相同的问题并发现了这个问题:https://github.com/antirez/redis/issues/3878

如果有效,我会更新,但只是想把它拿出去,以防它对你有所帮助。

答案 1 :(得分:0)

问题在于哨兵之间的沟通。

Redis增加了3.2版本"保护模式" sentinel.conf上的配置标志。

哨兵将收到错误消息"拒绝Redis正在保护模式下运行..."如果哨兵没有旗帜。

我在这里找到了这个信息: https://newbiedba.wordpress.com/2016/07/01/redis-3-2-sentinel-with-protected-mode/