Redis哨兵故障转移

Redis sentinel failover

我创建了一个学习project using Spring Data Redis, bitnami/redis and bitnami/redis-sentinel images. The Docker Compose file is here。部署命令为docker-compose -f redis-sentinel.yaml up --scale redis-sentinel=3 --scale redis-replica=2 -d,所以Redis配置如下:

启动所有内容后,我使用 docker stop redis-master 停止主容器。 10 秒后,哨兵故障转移到其中一个副本。到目前为止,一切都很好。但是,容器控制台日志中没有显示以下非常重要的内容:

  1. 检测到主机宕机。
  2. 故障转移已启动。
  3. 故障转移已成功完成。

我期待哨兵记录上述方面。

此外,当我从其中一个哨兵的 Redis CLI 命令 运行 sentinel masters 时,我发现故障转移前后的副本数量没有差异。当主服务器关闭时,我期待看到数字下降 1。

31) "num-slaves"
32) "2"
33) "num-other-sentinels"
34) "2"

请确保 1. Sentinel 日志已启用 2. 确保您查看的是 sentinel 日志而不是 master/slave 日志。 您可以找到 sentinel.conf 文件,其中定义了日志文件路径。默认值为 logfile "",它记录到标准输出。