【Redis】Docker下部署Redis集群----哨兵机制



1.原文链接

Docker部署Redis集群----第六节(docker-redis-sentinel集群的机制)

Docker部署Redis集群----第七节(docker-redis-sentinel集群实现篇)

Docker部署Redis集群----第八节(docker-redis哨兵集群原理篇)



2.构建sentinel集群

主从节点参考上一篇文章【Redis】Docker下部署Redis集群----主从复制

容器名称容器IP地址映射端口号
redis-master-6382172.60.0.26382:6379
redis-slave-6383172.60.0.36383:6379
redis-slave-6384172.60.0.46384:6379
redis-slave-6385172.60.0.56385:6379
redis-sentinel-22536172.60.0.622536:26379
redis-sentinel-22537172.60.0.722537:26379
redis-sentinel-22538172.60.0.822538:26379
#哨兵节点
docker run -itd  --name  redis-sentinel-22536 \
--net mynetwork01  -p 22536:26379  --ip 172.60.0.6  mycentos_redis
#哨兵节点
docker run -itd  --name  redis-sentinel-22537 \
--net mynetwork01  -p 22537:26379  --ip 172.60.0.7  mycentos_redis
#哨兵节点
docker run -itd  --name  redis-sentinel-22538 \
--net mynetwork01  -p 22538:26379  --ip 172.60.0.8  mycentos_redis



3.进入sentinel节点修改三处配置文件

#进入容器
docker exec -it redis-sentinel-22536 bash
docker exec -it redis-sentinel-22537 bash
docker exec -it redis-sentinel-22538 bash
#创建配置文件
mkdir myredis && vim /myredis/redis-sentinel.conf
#修改三处配置
bind 0.0.0.0
protected-mode no
#随便找了下图中出现Sentinel最多的地方加入这行配置
sentinel monitor mymaster 172.60.0.2 6379 2  

在这里插入图片描述



4.使用守护进程启动sentinel并指定其日志目录

#修改配置文件
daemonize yes
logfile "/var/log/sentinel_log.log"



5.启动三台sentinel节点

redis-sentinel /myredis/redis-sentinel.conf &

启动节点后可查看日志发现Sentinel集群已经配置成功
在这里插入图片描述



6.主机挂掉,哨兵集群在从机中选出新的主机,且原主机变为现主机的从机

#停了注解
docker stop redis-master-6382
#查看其中一个哨兵日志
cat /var/log/sentinel_log.log
#进入新的主机查看主从关系
docker exec -it redis-slave-6383 bash
redis-cli
info replication

在这里插入图片描述
在这里插入图片描述


版权声明:本文为qq_46514118原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。