创建哨兵
奇数个哨兵。
三哨兵策略: 1主二从
创建文件夹sentinel
# 所以无需担心端口重复使用
# 如果需要在单机
port 26389
# 设定密码认证
# requirepass 123456
# 配置哨兵的监控参数
# 格式:sentinel monitor <master-name> <ip> <redis-port> <quorum>
# master-name是为这个被监控的master起的名字
# ip是被监控的master的IP或主机名。因为Docker容器之间可以使用容器名访问,所以这里写master节点的容器名
# 此处填写宿主机(linux)的ip地址
# redis-port是被监控节点所监听的端口号
# quorom设定了当几个哨兵判定这个节点失效后,才认为这个节点真的失效了
sentinel monitor redis_6389 192.168.107.130 6389 2
# 连接主节点的密码
# 格式:sentinel auth-pass <master-name> <password>
# sentinel auth-pass local-master 123456
# master在连续多长时间无法响应PING指令后,就会主观判定节点下线,默认是30秒
# 格式:sentinel down-after-milliseconds <master-name> <milliseconds>
sentinel down-after-milliseconds redis_6389 30000
将上面的配置文件保存到conf文件夹中命名为sentinel.conf
创建运行哨兵容器
docker run -it \
--name sentinel_26389 \
--privileged \
--network wn_docker_net \
--sysctl net.core.somaxconn=1024 \
--ip 172.18.12.90 \
-p 26389:26389 \
-v /etc/localtime:/etc/localtime \
-v /usr/local/software/sentinel/26389/conf:/user/local/etc/redis/conf/ \
-d redis \
redis-sentinel /user/local/etc/redis/conf/sentinel.conf
docker run -it \
--name sentinel_26390 \
--privileged \
--network wn_docker_net \
--sysctl net.core.somaxconn=1024 \
--ip 172.18.12.91 \
-p 26390:26390 \
-v /etc/localtime:/etc/localtime \
-v /usr/local/software/sentinel/26390/conf:/user/local/etc/redis/conf/ \
-d redis \
redis-sentinel /user/local/etc/redis/conf/sentinel.conf
docker run -it \
--name sentinel_26391 \
--privileged \
--network wn_docker_net \
--sysctl net.core.somaxconn=1024 \
--ip 172.18.12.92 \
-p 26391:26391 \
-v /etc/localtime:/etc/localtime \
-v /usr/local/software/sentinel/26391/conf:/user/local/etc/redis/conf/ \
-d redis \
redis-sentinel /user/local/etc/redis/conf/sentinel.conf
查看是否配置成功