喝咖啡的睡眠族
2021-01-24 18:04奇闻: docker搭建的redis哨兵集群会导致redis集群的master服务死掉
我在docker上通过docker-compose搭建了一个一主二从的redis集群.搭建成功后集群正常运行
version: '2'
services:
master:
image: redis
container_name: redis-1
command: redis-server --requirepass 123456 --masterauth 123456
ports:
- 6379:6379
volumes:
- /opt/soft/health-care/redis/redis-1/data:/data
- /opt/soft/health-care/redis/redis-1/conf:/etc/redis/conf
slave1:
image: redis
container_name: redis-2
ports:
- 6380:6379
volumes:
- /opt/soft/health-care/redis/redis-2/data:/data
- /opt/soft/health-care/redis/redis-2/conf:/etc/redis/conf
command: redis-server --slaveof redis-1 6379 --requirepass 123456 --masterauth 123456
slave2:
image: redis
container_name: redis-3
ports:
- 6381:6379
volumes:
- /opt/soft/health-care/redis/redis-3/data:/data
- /opt/soft/health-care/redis/redis-3/conf:/etc/redis/conf
command: redis-server --slaveof redis-1 6379 --requirepass 123456 --masterauth 123456
通过docker inspect redis-1查询得知redis-1的ip为
之后,又通过docker-compose搭建了三个哨兵组成的哨兵集群
version: '2'
services:
sentinel1:
image: redis
container_name: redis-sentinel-1
ports:
- 26379:26379
command: redis-sentinel /usr/local/etc/redis/sentinel.conf
volumes:
- /opt/soft/health-care/redis-sentinel/sentinel-1/conf/sentinel.conf:/usr/local/etc/redis/sentinel.conf
sentinel2:
image: redis
container_name: redis-sentinel-2
ports:
- 26380:26379
command: redis-sentinel /usr/local/etc/redis/sentinel.conf
volumes:
- /opt/soft/health-care/redis-sentinel/sentinel-2/conf/sentinel.conf:/usr/local/etc/redis/sentinel.conf
sentinel3:
image: redis
container_name: redis-sentinel-3
ports:
- 26381:26379
command: redis-sentinel /usr/local/etc/redis/sentinel.conf
volumes:
- /opt/soft/health-care/redis-sentinel/sentinel-3/conf/sentinel.conf:/usr/local/etc/redis/sentinel.conf
networks:
default:
external:
name: docker-compose_default
哨兵配置文件如下:
port 26379
dir /tmp
# 172.19.0.4-> 是redis集群的master服务ip
sentinel monitor mymaster 172.19.0.4 6379 2
sentinel auth-pass mymaster 123456
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
问题出现在哨兵集群的启动:
哨兵集群启动之后,会导致redis集群的master状态变为: master_link_status:down
- 点赞
- 回答
- 收藏
- 复制链接分享
0条回答
为你推荐
- 访问云服务器上Docker运行的Nginx容器报404
- linux
- nginx
- docker
- centos
- 1个回答
- 求助: Docker 运行 autoware, roscore、runtime_manager可启动但无法访问容器内文件
- 自动驾驶
- docker
- 机器学习
- 人工智能
- ubuntu
- 1个回答
- docker搭建环境的选用疑问 自己搞还是用现成的组建??
- docker
- 3个回答
- 如果golang已启动并正在运行以进行连接,如何使用golang查询redis Db?
- redis
- 1个回答
- Redis在Docker容器中失去连接
- redis
- 1个回答
换一换