【发布时间】:2020-11-09 14:45:18
【问题描述】:
我设置了 Redis 复制和 Redis Sentinel。
据我所知,一切都配置得很好。
这是主服务器上的 redis-sentinel.conf:
sentinel myid c975aac973e325412d2a70a5b9f6195fcb9e40e7
sentinel deny-scripts-reconfig yes
sentinel monitor redisoctcluster 10.97.7.140 6360 2
sentinel down-after-milliseconds redisoctcluster 5000
# Generated by CONFIG REWRITE
port 26379
dir "/etc/redis"
protected-mode no
sentinel failover-timeout redisoctcluster 60000
sentinel config-epoch redisoctcluster 0
sentinel leader-epoch redisoctcluster 11
sentinel known-replica redisoctcluster 10.103.19.57 6360
sentinel known-sentinel redisoctcluster 10.103.19.57 26379 fd19cf80e9b23db1501d9bfcc01aaff711a7b44b
sentinel current-epoch 11
这是从机上的 redis-sentinel.conf:
sentinel myid fd19cf80e9b23db1501d9bfcc01aaff711a7b44b
sentinel deny-scripts-reconfig yes
#bind 0.0.0.0
sentinel monitor redisoctcluster 10.97.7.140 6360 2
sentinel down-after-milliseconds redisoctcluster 5000
logfile "/var/log/redis/redis-sentinel.log"
# Generated by CONFIG REWRITE
port 26379
dir "/etc/redis"
protected-mode no
sentinel failover-timeout redisoctcluster 60000
sentinel config-epoch redisoctcluster 0
sentinel leader-epoch redisoctcluster 11
sentinel known-replica redisoctcluster 10.103.19.57 6360
sentinel known-sentinel redisoctcluster 10.97.7.140 26379 c975aac973e325412d2a70a5b9f6195fcb9e40e7
sentinel current-epoch 11
据我所知,将 redis-cli 用于哨兵(在主从机上) - 一切都很好:
# redis-cli -p 26379 info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=redisoctcluster,status=ok,address=10.97.7.140:6360,slaves=1,sentinels=2
在从站上运行 get-master-addr-by-name 表明它知道主站:
# redis-cli -p 26379 sentinel get-master-addr-by-name redisoctcluster
1) "10.97.7.140"
2) "6360"
当我在主服务器上停止 Redis 时,我在哨兵日志中看到了这一点:
# +odown master redisoctcluster 10.97.7.140 6360 #quorum 2/2
# +new-epoch 10
# +try-failover master redisoctcluster 10.97.7.140 6360
# +vote-for-leader fd19cf80e9b23db1501d9bfcc01aaff711a7b44b 10
# c975aac973e325412d2a70a5b9f6195fcb9e40e7 voted for fd19cf80e9b23db1501d9bfcc01aaff711a7b44b 10
# +elected-leader master redisoctcluster 10.97.7.140 6360
# +failover-state-select-slave master redisoctcluster 10.97.7.140 6360
# -failover-abort-no-good-slave master redisoctcluster 10.97.7.140 6360
# Next failover delay: I will not start a failover before Sun Nov 8 16:34:42 2020
阻止故障转移发生的配置有什么问题?
【问题讨论】:
-
我现在在日志中看到它说从属服务器已关闭:# +sdown slave 10.103.19.57:6360 10.103.19.57 6360 @ redisoctcluster 10.97.7.140 6360 这解释了为什么故障转移不能发生......仍然不明白它说当一切看起来都正常时从属服务器已关闭
标签: redis