我正在设置我的第一个 Redis 框架,到目前为止,我有以下内容:
Server1:
- Redis master
- 3 Redis Sentinels (quorum set to 2)
Server2:
- Redis slave
- 3 Redis Sentinels (quorum set to 2)
主机和从机似乎工作正常,数据正在从主机同步到从机。当我安装并启动哨兵时,它们似乎也运行良好,因为如果我连接到其中任何一个并运行哨兵主控,它将显示哨兵指向我的 Redis 主控并显示各种属性。
但是,实际的故障转移似乎不起作用。例如,如果我连接到我的 Redis 主服务器并运行debug segfault使其失败,则不会发生故障转移到从服务器。没有任何哨兵记录任何内容,因此看起来它们实际上并未连接。这是我的哨兵的配置:
port 26381
sentinel monitor redismaster ServerName 26380 2
sentinel down-after-milliseconds redismaster 10000
sentinel failover-timeout redismaster 180000
sentinel parallel-syncs redismaster 1
logfile "nodes/sentinel1/sentinel.log"
如您所见,此哨兵在 26381 上运行(随后的哨兵在 26382 和 26383 上运行)。我的 Redis 主机在 26380 上运行。所有端口都是开放的,名称/IP 解析正确等,所以我认为这不是基础设施问题。如果有用,我正在运行从 MS Open Tech 页面下载的 Redis (2.8.17)。
有没有人对可能是什么问题有任何想法,或者关于如何排除故障的建议?我很难找到在 Windows 上设置 Redis 的 HA 实例的准确文档,因此对于解决这些类型的问题有用的任何命令将不胜感激。