温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Redis怎么升级到容器化Redis-Sentinel集群

发布时间:2021-12-13 14:34:23 来源:亿速云 阅读:193 作者:iii 栏目:大数据

这篇文章主要介绍“Redis怎么升级到容器化Redis-Sentinel集群”,在日常操作中,相信很多人在Redis怎么升级到容器化Redis-Sentinel集群问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis怎么升级到容器化Redis-Sentinel集群”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

升级思路:
  1. 《     Docker-compose搭建Redis高可用哨兵集群》,这里将     Redis-Sentinel容器接入现有Docker Swarm overlay网络,规避Redis ClientApp访问不同网络的Redis-Sentinel引发的混乱(因NAT转换和Port映射)。
  2. 利用主机上现有Redis dump.rdb持久化文件快速启动Redis哨兵集群    
    (1 master:2slave:3 sentinel)
  3. 修改     receiver、     app的Redis连接字符串,验证     Redis怎么升级到容器化Redis-Sentinel集群
 

注意事项

  • 现有的应用程序处于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集群到此,关于“Redis怎么升级到容器化Redis-Sentinel集群”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI