【发布时间】:2017-01-10 16:26:02
【问题描述】:
假设我有以下 Redis 复制设置:
- 3 台机器
- 每台机器都有一个 Redis 服务器和一个 Redis 哨兵。
- 其中一台服务器设置为主服务器,另外两台服务器为其从服务器。
正确关闭此设置的正确顺序和命令是什么,同时保持现有主设备为主设备,现有从设备为从设备(意味着不应发生故障转移或重新配置)
谢谢。
【问题讨论】:
标签: redis redis-cluster redis-cli redis-server
假设我有以下 Redis 复制设置:
正确关闭此设置的正确顺序和命令是什么,同时保持现有主设备为主设备,现有从设备为从设备(意味着不应发生故障转移或重新配置)
谢谢。
【问题讨论】:
标签: redis redis-cluster redis-cli redis-server
关机顺序
您应该首先关闭哨兵,以避免警报/通知和故障转移。然后你就可以关闭slave和master了。
关机命令
您可以使用shutdown 命令优雅地关闭 Redis 实例(sentinel、slave 和 master)。
对于早于 3.0 的 Redis 版本(不太确定),没有用于 Redis sentinel 的 shutdown 命令。但是你可以直接使用killall 或kill -9 process_id 来杀死它而不会产生任何副作用。
================================================ ==============================
在我最初的回答中,我建议先关闭从属服务器和主服务器,以避免哨兵发出警报。事实上,还有另一种避免警报的方法。您可以在关闭主服务器之前简单地从哨兵中删除主服务器:SENTINEL REMOVE <name>。去掉master之后,就不用再关心关机顺序了。
启动顺序如何?
如果使用SENTINEL MONITOR <name> <ip> <port> <quorum>命令动态添加master进行监控,可以启动sentinel,动态添加master。相反,如果你用 sentinel 的配置文件添加 master,你可以先启动 Redis,以避免来自 sentinel 的警报。
【讨论】: