机器 3台
192.168.174.136 主
192.168.174.131 从
192.168.174.135 从
192.168.174.136
vim /etc/redis.conf
bind 0.0.0.0
daemon yes
protected-mode no
slaveof 192.168.174.136 6379
从机器配置比主多了一个配置 slaveof 192.168.174.136 6379
redis-server /etc/redis.conf 启动每台redis
vim /etc/redis-sentinel.conf
bind 0.0.0.0
daemon yes
protected-mode no
sentinel monitor mymaster 192.168.174.135 6379 2
sentinel monitor mymaster 192.168.174.135 6379 2 代表3台哨兵都监控主节点
redis-sentinel /etc/redis-sentinel.conf 启动每台redis-sentinel
最后,kill掉主节点,一直无法重现切换主节点,查了半天,最后发现是防火墙的问题,26379端口被防火墙屏蔽了,导致哨兵之间无法通信
解决方法为:
查看想开的端口是否已开:firewall-cmd --query-port=26379/tcp
添加指定需要开放的端口:firewall-cmd --add-port=26379/tcp --permanent
重载入添加的端口:firewall-cmd --reload
查询指定端口是否开启成功:firewall-cmd --query-port=26379/tcp
返回yes即可
最后重新演练主节点宕机,以下为成功切换日志