Redis怎么升级到容器化Redis-Sentinel集群
这篇文章主要介绍“redis怎么升级到容器化Redis-Sentinel集群”,在日常操作中,相信很多人在Redis怎么升级到容器化Redis-Sentinel集群问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis怎么升级到容器化Redis-Sentinel集群”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
和平网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联建站成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
升级思路:
《 Docker-compose搭建Redis高可用哨兵集群》,这里将 Redis-Sentinel容器接入现有Docker Swarm overlay网络,规避Redis ClientApp访问不同网络的Redis-Sentinel引发的混乱(因NAT转换和Port映射)。 利用主机上现有Redis dump.rdb持久化文件快速启动Redis哨兵集群
(1 master:2slave:3 sentinel)修改 receiver
、app
的Redis连接字符串,验证
注意事项
现有的应用程序处于Docker Swarm Overlay网络,默认是不允许附加其他容器,这里我们需要将该Overlay网络配置成 可附加
,方便Redis-Sentinel接入该网络, 所有容器同网络;为方便部署可将哨兵容器分配固定IP。
......
// 下面生成的overlay网络名称是:eqidstack_webnet
networks:
webnet:
driver: overlay
attachable: true // 将现有的overlay网络配置为:可附加容器
.....
官方Redis镜像持久化数据存储在: /data
, 本处我们需要将现有的主机Redis dump.rdb文件外挂进Master容器。
# 下面是master/slave docker-compose.yml文件
version: '3.7'
services:
master:
image: redis
container_name: redis-master
command: redis-server --requirepass zxcde@1 --masterauth zxcde@1
volumes:
- /home/redis-sentinel/redis/data:/data
ports:
- "6380:6379"
networks:
- webnet
slave1:
image: redis
container_name: redis-slave-1
ports:
- "6381:6379"
command: redis-server --slaveof redis-master 6379 --masterauth zxcde@1 --requirepass zxcde@1
networks:
- webnet
slave2:
image: redis
container_name: redis-slave-2
ports:
- "6382:6379"
command: redis-server --slaveof redis-master 6379 --masterauth zxcde@1 --requirepass zxcde@1
networks:
- webnet
networks:
webnet:
external: true
name: eqidstack_webnet // 使用现有的Dokcer Overlay网络
经过验证,StackExchange.Redis 最新版 本2.1.58 可以更简洁的方式支持Redis-sentinel,: 只需更改原单点连接字符串,其中 10.0.7.41:26379,10.0.7.42:26379,10.0.7.43:26379
是sentinel容器端点,serviceName
为Sentinel配置的Maser/slave名称。
"redis": "10.0.7.41:26379,10.0.7.42:26379,10.0.7.43:26379,serviceName=mymaster1,password=zxcde@1,abortConnect=false,connectTimeout=10000,writeBuffer=40960"
网站题目:Redis怎么升级到容器化Redis-Sentinel集群
当前网址:http://cdiso.cn/article/jgjjdh.html