仅作为Shane个人笔记
- 上一篇文章Shane记录了自己用TP6操作Redis集群的过程
- 一篇Shane准备记录启动Redis哨兵
复制配置文件
- cd /etc 会在etc下看到redis-sentinel.conf这个配置文件
cp redis-sentinel.conf /usr/local/redis
修改配置文件
# sentinel monitor 主节点名称 IP 端口号 投票超过多少次认定客观死亡sentinel monitor mymaster 127.0.0.1 6379 1
# passadmin这个密码是Shane前几篇笔记当时用的sentinel auth-pass mymaster passadmin
- 修改心跳检测 5000毫秒(redis默认的30秒太长,5秒就行)
sentinel down-after-milliseconds mymaster 5000
# sentinel parallel-syncs mymaster sentinel parallel-syncs mymaster 1
logfile /usr/local/redis/redis-sentinel.log
启动哨兵模式
# 两种启动方式用哪种都可以redis-server redis-sentinel.conf --sentinel &redis-sentinel redis-sentinel.conf
启动成功日志
测试
- 手动关停主节点进行测试
- 进入redis-cli 执行shutdown命令
从服务器开始选举新的主服务器
- 从图中可以看出3个从节点发现主节点主观死亡(sdown)之后
- 主节点的死亡变为客观死亡(odown)并自动开始通过选举算法切换主节点
- 认证主节点客观死亡要通过从节点投票大于一半以上,才可以认证主节点客观死亡
- 这也是为什么奇数集群(如:三从)会达到高可用的效果
- 启动主节点,此时发现原来的主节点被降级为了从节点,附属于之前哨兵选举出来的主节点
原来的主节点变为了从节点
- 这样一来则产生了一个问题,原本支持读写的主服务器变为了从服务器(Read Only)
- 但是配置文件中写的还是原来的配置,Shane下一篇笔记,再来记录解决办法
Shane在B站的TP6视频:BV1tJ411J7qZ