Redis 哨兵不会故障转移我的主人
Redis sentinel does not failover my master
我正在尝试设置一个简单的 redis-sentinel
,并将其配置为将主服务器故障转移到它的一个从服务器。
我设置了 4 个虚拟机(使用 virtualbox
),每个虚拟机都安装了 Redis。我有一台主机和两个奴隶。最后一台机器是哨兵
master和slaves都是默认的配置,只是我把绑定地址改成了bind 0.0.0.0
,slaves有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
问题是当我关闭 master 时,sentinel 并没有提升任何 slave。
这是哨兵日志:
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
参数设置在提升从属之前需要同意主已关闭的哨兵数量。我只有一个哨兵,然后没有提升奴隶。
我正在尝试设置一个简单的 redis-sentinel
,并将其配置为将主服务器故障转移到它的一个从服务器。
我设置了 4 个虚拟机(使用 virtualbox
),每个虚拟机都安装了 Redis。我有一台主机和两个奴隶。最后一台机器是哨兵
master和slaves都是默认的配置,只是我把绑定地址改成了bind 0.0.0.0
,slaves有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
问题是当我关闭 master 时,sentinel 并没有提升任何 slave。
这是哨兵日志:
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
参数设置在提升从属之前需要同意主已关闭的哨兵数量。我只有一个哨兵,然后没有提升奴隶。