Redis Sentinel 3.2 不触发脚本
Redis Sentinel 3.2 not firing scripts
所以我们刚刚 apt
在 Ubuntu 16.04 服务器上将 Redis 更新到 v3.2.8(从 3.0.7),并且注意到 client-reconfig-script
和 notification-script
似乎不再触发故障转移事件。
我们用 debug sleep 30
进行了测试,我们可以很好地操纵哨兵进行故障转移,但脚本不会触发。
相关信息:
- 我们正在使用 3.2 中的配置文件(我们必须这样做,因为我们自己的已被更新程序取代)。
- 在
sentinel.conf
中,两个脚本的路径是正确的:
sentinel notification-script ourmaster /mnt/efs/scripts/sentinel-notify.sh
sentinel client-reconfig-script ourmaster /mnt/efs/scripts/sentinel-failover.sh
- 我们甚至将这些文件的权限更改为
redis:redis
,但仍然没有。
- 我们已经关闭了 redis 和 sentinel 的保护模式。
bind
被注释掉了,因为我们需要绑定到所有适配器,但我们也尝试了 bind 0.0.0.0
- 其他一切似乎都有效,只有这两个脚本。
- 运行 手动脚本仍然有效。
有人有什么想法吗?
现在还支持吗?
我们使用这个非官方的 Ubuntu PPA 进行 Redis 升级:
https://launchpad.net/~chris-lea/+archive/ubuntu/redis-server
官方 PPA 仍然使用 3.0.7,所以我们回滚到那个,问题就解决了。
我的唯一理论是,Redis 是在 Chris 的 PPA 中错误构建的。此时我们已经尝试了所有其他方法。
所以我们刚刚 apt
在 Ubuntu 16.04 服务器上将 Redis 更新到 v3.2.8(从 3.0.7),并且注意到 client-reconfig-script
和 notification-script
似乎不再触发故障转移事件。
我们用 debug sleep 30
进行了测试,我们可以很好地操纵哨兵进行故障转移,但脚本不会触发。
相关信息:
- 我们正在使用 3.2 中的配置文件(我们必须这样做,因为我们自己的已被更新程序取代)。
- 在
sentinel.conf
中,两个脚本的路径是正确的:
sentinel notification-script ourmaster /mnt/efs/scripts/sentinel-notify.sh
sentinel client-reconfig-script ourmaster /mnt/efs/scripts/sentinel-failover.sh
- 我们甚至将这些文件的权限更改为
redis:redis
,但仍然没有。 - 我们已经关闭了 redis 和 sentinel 的保护模式。
bind
被注释掉了,因为我们需要绑定到所有适配器,但我们也尝试了bind 0.0.0.0
- 其他一切似乎都有效,只有这两个脚本。
- 运行 手动脚本仍然有效。
有人有什么想法吗?
现在还支持吗?
我们使用这个非官方的 Ubuntu PPA 进行 Redis 升级: https://launchpad.net/~chris-lea/+archive/ubuntu/redis-server
官方 PPA 仍然使用 3.0.7,所以我们回滚到那个,问题就解决了。
我的唯一理论是,Redis 是在 Chris 的 PPA 中错误构建的。此时我们已经尝试了所有其他方法。