sentinel 监控redis主从服务器
微信图片_20190320173137.png
复制redis安装目录下的sentinel.conf到当前redis下
[root@myserver redis]# cp /opt/redis-3.2.8/sentinel.conf sentinel.conf
sentinel.conf 的配置说明
sentinel monitor mymaster 127.0.0.1 6379 2
表示监控的master的名字叫mymaster,地址是127.0.0.1 6379,最后的2代表集群中有2个sentinel主观地认为master挂掉时,才真正客观地认为master不可用了。
sentinel auth-pass mymaster MySUPER--secret-0123passw0rd
sentinel连接master的密码
sentinel down-after-milliseconds mymaster 30000
在指定时间内(单位为毫秒),master没有回应sentinel或者回复了错误代码,当前的sentinel主观的认为master失效了
sentinel failover-timeout mymaster 180000
在failover开始后,15min内还没有完成此次操作,当前sentinel会认为此次failover失败了
sentinel parallel-syncs mymaster 1
在发生failover主备切换时,最多可以有多少个slave同时对新的master进行同步
测试
修改sentinel.conf的sentinel哨兵为1,因为我只有一台sentinel服务
sentinel monitor mymaster 127.0.0.1 6379 1
开启redis服务
[root@myserver redis]# pkill -9 redis
[root@myserver redis]# ./redis-server ./redis.conf
[root@myserver redis]# ./redis-server ./redis6380.conf
[root@myserver redis]# ./redis-server ./redis6381.conf
开启sentinel检测
QQ图片20190320183824.png
连接6379,当前有两个slave,6380和6381
QQ图片20190320184015.png
连接6380,master为6379
QQ图片20190320184634.png
连接6381,master为6379
QQ图片20190320184237.png
关闭6379
QQ图片20190320184926.png
查看sentinel,master从6379变成了6381,slave是6380
QQ图片20190320185154.png
查看6380,master变为6381
QQ图片20190320185357.png
查看6381,从slave变为master
QQ图片20190320185507.png
以上就是sentinel监控redis,自动进行redis的主备切换
如果想要将6380作为failover的第一选择,可以修改redis6380.conf的
slave-priority 10 #此值越小优先级越高
运行时更改master-slave
修改一台slave(设为A)为new master
- 命令该服务不做其他redis服务的slave
命令: slaveof no one - 修改其readonly为yes
其他的slave再指向new master A
- 命令该服务为new master A的slave
命令格式 slaveof IP port