我正在尝试设置一个简单的redis-sentinel,并将其配置为将主服务器故障转移到其从属服务器之一。

我设置了4个VM(使用virtualbox),并在每个VM上安装了redis。我有一台主计算机和两个从属计算机。最后一台机器是哨兵。

主服务器和从属服务器具有默认配置,但我将绑定(bind)地址更改为bind 0.0.0.0,而从属服务器具有slaveof <master-ip> 6379行。

在前哨中,我遵循了基本教程,并进行了以下设置:

sentinel monitor mymaster <master-ip> 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 6000
sentinel parallel-syncs mymaster 1

问题是,当我关闭主服务器时,哨兵不会提升任何从属服务器。

以下是前哨日志:
1922:X 13 Jun 14:03:53.446 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
1922:X 13 Jun 14:03:53.446 # Sentinel ID is dc901c767178ddf8f569c4a17b79df2938342ede
1922:X 13 Jun 14:03:53.446 # +monitor master mymaster <master-ip> 6379 quorum 2
1922:X 13 Jun 14:04:04.595 # +sdown master mymaster <master-ip> 6379

我究竟做错了什么?

最佳答案

愚蠢的错误。

我将quorum参数设置为2。quorum参数设置在提升从属服务器之前需要同意主机已关闭的哨兵数量。我只有一个哨兵,所以没有奴隶晋升。

09-26 18:55