redis哨兵(sentinel)
目录
是什么
在之前的复制中我们了解到 主机shutdown之后 从机就会一直等待 这样就会导致阻塞
黑色的就是哨兵
能干吗
案例演示
架构
为什么是奇数个哨兵?
因为奇数个哨兵好投票
案例步骤
首先哨兵他是不存放内容的 只是起到一个吹哨人的作用 所以他的配置文件和redis的不同 并且三个哨兵对应三个配置文件
我们下载的redis安装包里面有原装的sentinel.conf
将这个文件拷贝到我们的myredis目录下
哨兵配置文件里面的参数和redis很相似
重点参数
quorum就是法定投票数 这个quorum会引出 什么是客观投票 什么是主观投票
启动哨兵模式
默认是26379端口号
把下面的内容粘贴进去 ip 端口 法定的票数是2个
给6379配置密码
6380和5381的redis配置文件下都有这行代码
80和81配置一样 因为都是要绑定6379
启动集群
原有的master挂了
打开26379的日志
26380的日志文件
查看26379的配置文件
26380的配置文件
手动关闭6379
剩下两个从机得出来的结果 刚开始读取不到结果 但是过一会就能读取到结果
6380
6381
6379的日志
他已经变成小弟了
出现的问题
6379的配置文件被哨兵加内容了 之前ignore那个才是最后一行
6381的配置文件下面也配置了一些东西
6381之前配置的这个replicaof也被拿掉了
哨兵的运行流程和选举原理
选一个哨兵做兵王 去做slaver到master这件事情
选出兵王来了
兵王去做master的转换
先看优先级 再看偏移量 再看runid谁小
复制偏移量可以这样理解
假如原先的master写了十个数据 但是slave1由于网络抖动 只有9条 而slave2有十条记录
leader肯定选2
哨兵的使用建议
那意思就是数据写入有窗口期,所有的从机变成主机也需要时间阿
在master宕机之后 选出新的master需要时间 这个时间段 会丢失数据