2021-09-19 02:39:25
重启Redis哨兵服务的步骤需根据其独立进程特性,结合配置文件和命令行操作完成,具体分为以下两种场景:
一、常规重启(单个哨兵进程)
停止哨兵进程
Linux/macOS:通过ps -ef | grep redis-sentinel定位进程ID(PID),使用kill -9 PID强制终止,或通过redis-cli -p 哨兵端口 shutdown优雅关闭。
Windows:在任务管理器中结束redis-sentinel.exe进程,或通过命令行执行taskkill /F /IM redis-sentinel.exe。
重新启动哨兵进程
Linux/macOS:执行命令./redis-sentinel ../sentinel.conf,确保配置文件路径正确。
Windows:在命令行中运行redis-sentinel.exe sentinel.conf --sentinel,需指定配置文件路径。
二、集群环境下的重启(多个哨兵节点)
避免同时重启所有哨兵:哨兵集群通过多数派(quorum)决策主从切换,若超过半数节点离线可能导致脑裂。建议每次重启一个节点,间隔30秒以上,确保集群稳定。
操作步骤:
停止第一个哨兵进程(方法同上)。
等待其完全退出后,重新启动该节点。
通过redis-cli -p 哨兵端口 info sentinel确认节点状态为connected,且能识别其他哨兵和主从实例。
重复上述步骤,依次重启其他哨兵节点。
关键注意事项
原理补充:哨兵进程独立运行,通过发送PING、INFO等命令监控Redis实例状态。重启后,哨兵会重新建立与主从节点的连接,并同步集群拓扑信息,最终恢复完整的监控和故障转移能力。