哨兵巡查监控后台master主机是否故障,如果故障了根据投票数自动将某一个从库转换为新主库,继续对外服务,俗称无人值守运维
作用
哨兵的四个功能
注意: 由于虚拟机运行内存问题,将哨兵放在一台机器上,真正部署项目时要分开
在 /myredis 目录新建或者拷贝 sentinel.conf
先看看redis解压目录下默认的sentinel.conf文件的内容
哨兵sentinel文件参数(先导)
哨兵sentinel文件配置
sentinel26379.conf
sentinel26380.conf
先启动一主二从
按照上章配置的一主二从基础上,需要对主机redis6379.conf进行更改
6379后续可能会变成从机,需要设置访问新主机的密码, 请设置masterauth项访问密码为123456
启动一主二从
6379.confredis-server /myredis/redis6379.conf redis-cli -a 1234566380.confredis-server /myredis/redis6380.conf redis-cli -a 123456 -p 63806381.confredis-server /myredis/redis6381.conf redis-cli -a 123456 -p 6381
启动哨兵
redis-sentinel sentinel26379.conf --sentinel
redis-sentinel sentinel26380.conf --sentinel
redis-sentinel sentinel26381.conf --sentinel
关闭6379服务器,模仿master挂了
注意:
当一个主从配置中的master失效之后,sentinel可以选举出一个新的master,用于接替原master的工作,主从配置中其他redis服务器自动指向新的master同步数据。一般建议sentinel采用奇数台,防止某一台sentinel无法连接到master导致误切换、
SDOWN主观下线
SDOWN 是单个sentinel 自己主观上检测到的关于master的状态,从sentinel的角度来看,如果发送了PING心跳后,在一定时间内没有收到合法的回复,就达到了SDOWN的条件
sentinel配置文件中的down-after-milliseconds 设置了判断主观下线的时间长度
ODOWN客观下线
选举出领导者哨兵
当主节点被判断客观下线以后,各个哨兵节点会进行协商,县选举出一个领导者哨兵节点并由该领导者节点进行failover(故障迁移)
Raft算法 选出领导者节点
由领导者节点开始推动故障切换并选出一个新master
以上的failover都是sentinel自己独立完成,完全无需人工干预