之前我们配置了主从复制,哨兵是基于主从复制的。
1. 我们需要sentinel.conf来配置启动哨兵 cp /soft/redis-5.0.8/sentinel.conf /server/redis/
修改sentinel26979.conf
logfile "/var/log/redis/sentinel.log"
daemonize yes
sentinel monitor mymaster 127.0.0.1 6379 2
- 监控的主是mymaster(名字是自定义的)
- 主节点的地址127.0.0.1 6379
- 2代表判断主节点挂了的标准,2个哨兵认为挂了就是挂了,通常配置哨兵的数量为一半加1,所以说哨兵数量要设置为单数
sentinel down-after-milliseconds mymaster 30000
- 设置多长时间没相应认定主挂了,mymaster名称要和sentinel monitor mymaster 127.0.0.1 6379 2中的名称要对应,30000(30s)。
sentinel parallel-syncs mymaster 1
- #执行故障转移时,最多可以有多少个从服务器同时对新的主服务器进行同步,这个数字越小,完成故障转移所需的时间就越长,但越大就意味着越多的从服务器因为复制而不可用。可以通过将这个值设为 1 来保证每次只有一个从服务器处于不能处理命令请求的状态。
在data下创建logs文件 touch /server/redis/data/sentinel26379.log
4.在redis目录下启动哨兵
docker run -it --name sentinel26379 -p 26379:26379 -v $PWD/sentinel26379.conf:/usr/local/etc/redis/sentinel.conf -v /server/redis/data/sentinel26380.log:/var/log/redis/sentinel.log -d redis /bin/bash