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 秒后,哨兵故障转移到其中一个副本。到目前为止,一切都很好。但是,容器控制台日志中没有显示以下非常重要的内容:
- 检测到主机宕机。
- 故障转移已启动。
- 故障转移已成功完成。
我期待哨兵记录上述方面。
此外,当我从其中一个哨兵的 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 "",它记录到标准输出。
我创建了一个学习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 秒后,哨兵故障转移到其中一个副本。到目前为止,一切都很好。但是,容器控制台日志中没有显示以下非常重要的内容:
- 检测到主机宕机。
- 故障转移已启动。
- 故障转移已成功完成。
我期待哨兵记录上述方面。
此外,当我从其中一个哨兵的 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 "",它记录到标准输出。