docker-搭建一主两备三哨兵redis集群
一 目标
搭建一主两备三哨兵,高可用集群,实现热处理的容灾方案
概述:
共需要6个redis容器,其中1个master,2个slave,3个sential
使用的端口如下:
master:6701
slave1:6702 slave2:6703
sentinel1:22001 sentinel2:22002 sentinel:22003
二 步骤
1. 搭建一主两从的集群
可按如下步骤搭建 (https://www.cnblogs.com/qxAndWorld/p/17785208.html)
结果如下,一主两从集群运行
2. 准备三份sentinel.conf
2.1 修改配置
2.2.1 准备三份配置文件
2.2.2 分别修改配置,配置各哨兵的ip,端口,监听的master等
示例配置:
sentinel monitor mymaster 192.168.65.100 6701 2
sentinel announce-ip 192.168.65.100
sentinel announce-port 22001
配置说明:
sentinel monitor: sentinel监控的master节点的名称、地址和端口号,最后一个quorums表示至少需要多少个sentinel判定master节点故障才进行故障转移。一般配置为sentinel数量/2+1
sentinel announce-ip: sentinel发布的ip
sentinel announce-port: sentinel发布的port--使用对外开放的端口
3.启动sentinel
-- 启动哨兵1
docker run --name sentinel-1 \ -v /docker/redis/sentinel1.conf:/etc/redis/sentinel.conf \ -dp 22001:26379 redis:7.0 \ redis-sentinel /etc/redis/sentinel.conf
-- 启动哨兵2
docker run --name sentinel-2 \ -v /docker/redis/sentinel2.conf:/etc/redis/sentinel.conf \ -dp 22002:26379 redis:7.0 \ redis-sentinel /etc/redis/sentinel.conf
-- 启动哨兵3
docker run --name sentinel-3 \ -v /docker/redis/sentinel3.conf:/etc/redis/sentinel.conf \ -dp 22003:26379 redis:7.0 \ redis-sentinel /etc/redis/sentinel.conf
4. 查看关系
docker exec -it sentinel-1 \
> redis-cli -h 192.168.65.100 -p 22001 info sentinel
可见master是192.168.65.100:6701, slave有两个, sentinel有三个,说明搭建成功
5. 容灾测试
停掉当前master【redis1】, 发现重新选举出了新的master【redis2】