基于docker配置redis的Sentinel模式

Sentinel(哨兵)是redis的高可用性解决方案:由一个或多个Sentinel实例组成的Sentinel系统可以监控任意多个主服务器,以及这些主服务器属下的所有从服务器,并且在被监控的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。

1. 首先需要搭建主从复制:

参考基于docker配置redis的主从复制

2. 挂载外部配置:

创建目录和配置文件sentinel.conf。
在这里插入图片描述

sentinel.conf:

bind 0.0.0.0
protected-mode no
sentinel monitor mymaster 172.17.0.2 6379 2
3. 启动哨兵
docker run --name sentinel-26379 -v /root/docker-redis-sentinel1/conf/sentinel.conf:/etc/sentinel.conf -v /root/docker-redis-sentinel1/data:/data -p 26379:26379 -d redis redis-sentinel /etc/sentinel.conf 

docker run --name sentinel-26380 -v /root/docker-redis-sentinel2/conf/sentinel.conf:/etc/sentinel.conf -v /root/docker-redis-sentinel2/data:/data -p 26380:26379 -d redis redis-sentinel /etc/sentinel.conf 

docker run --name sentinel-26381 -v /root/docker-redis-sentinel3/conf/sentinel.conf:/etc/sentinel.conf -v /root/docker-redis-sentinel3/data:/data -p 26381:26379 -d redis redis-sentinel /etc/sentinel.conf 

通过查看sentinel.conf或日志可以发现哨兵已经开始工作:
在这里插入图片描述
在这里插入图片描述

4. 验证故障转移

为了验证哨兵机制下的自动主从切换,可以将主服务器停止掉。
观察日志:
在这里插入图片描述
从日志中可以看出redis-6381成为新的主服务器。接着进入redis-6381中进行验证:
在这里插入图片描述
我们继续启动之前的主服务器redis-6379,可以看出redis-6379重新启动后成为redis-6381的从服务器:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值