首页 > 数据库 >随笔(二十九)『docker 3主3从redis配置 』

随笔(二十九)『docker 3主3从redis配置 』

时间:2023-08-23 19:56:00浏览次数:37  
标签:node cluster -- 宿主机 redis 二十九 docker yes

1、拉取镜像

docker pull redis:6.0.8

2、创建并启动容器

docker run -d --name redis-node-1 --net host --privileged=true -v /mydata/redis/redis-node-1/data:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381
docker run -d --name redis-node-2 --net host --privileged=true -v /mydata/redis/redis-node-2/data:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6382
docker run -d --name redis-node-3 --net host --privileged=true -v /mydata/redis/redis-node-3/data:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6383
docker run -d --name redis-node-4 --net host --privileged=true -v /mydata/redis/redis-node-4/data:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6384
docker run -d --name redis-node-5 --net host --privileged=true -v /mydata/redis/redis-node-5/data:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6385
docker run -d --name redis-node-6 --net host --privileged=true -v /mydata/redis/redis-node-6/data:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386

image

3、构建主从关系

1、随意进入某个容器,如:
docker exec -it redis-node-6 /bin/bash

2、redis-cli --cluster create 宿主机IP:6381 宿主机IP:6382 宿主机IP:6383 宿主机IP:6384 宿主机IP:6385 宿主机IP:6386 --cluster-replicas 1

image

4、查看集群信息、节点信息

1、随意进入某个节点,如:
redis-cli -p 6381

2、cluster info

3、cluster nodes

image

5、查看集群情况

redis-cli --cluster check 宿主机IP:6381

6、主从扩容

6.1、创建启动6387、6388两台容器

docker run -d --name redis-node-7 --net host --privileged=true -v /mydata/redis/redis-node-7/data:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6387
docker run -d --name redis-node-8 --net host --privileged=true -v /mydata/redis/redis-node-8/data:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6388

image

6.2、进入6387

docker exec -it redis-node-7 bash

6.3、将6387作为主服务

redis-cli --cluster add-node 宿主机IP:6387 宿主机IP:6381

6.4、分配槽位 16384/4(总槽位/总主服务数) = 4096

redis-cli --cluster reshard 宿主机IP:6381

6.5、配置从服务6388

redis-cli --cluster add-node 宿主机IP:6388 宿主机IP:6387 --cluster-slave --cluster-master-id 主服务ID(6387的ID)

7、主从缩容

7.1、先删除从服务6390

redis-cli --cluster del-node 宿主机IP:6390 从服务ID(6390的ID)

7.2、分配槽位 16384/5(总槽位/总主服务数) = 3277【采用全部槽位分给6381的方式】

image

redis-cli --cluster reshard 宿主机IP:6381 
备注:端口只要是主服务的端口都可以

image

7.3、删除主服务6389

redis-cli --cluster del-node 宿主机IP:6389 主服务ID(6389的ID)

标签:node,cluster,--,宿主机,redis,二十九,docker,yes
From: https://www.cnblogs.com/xiaonuanxin/p/17652158.html

相关文章

  • Docker命令
    1.container命令创建容器:dockerrun[name]查看活跃容器dockerps停止容器dockerstop[id]删除容器dockerrmid2.进入容器2.1dockerattach有多个窗口时一个窗口阻塞其他也无法进入2.2SSH进入在镜像中安装SSHServer保证多人进入2.3nsenter进入可以在指定......
  • docker compose 部署mysql数据库
    docker-compose.ymlversion:"3"services:mysql:image:mysql:5.7container_name:mysqlhostname:mysqlports:-3306:3306volumes:-/home/mysql/data:/var/lib/mysql-/home/mysql/conf/my.cnf:/etc/my.cnf......
  • 基于Redission的分布式锁
    分布式锁的设计共分为3步定义注解对注解进行扫描使用注解加锁核心逻辑为RLockrLock=redissonClient.getLock(key);//是否加锁成功booleanisLock=rLock.tryLock(timeOut,expireTime,timeUnit);1.定义注解LockActionpackagecom.jwds.app.compont.cache.annotat......
  • springboot之RedisTemplate的访问单机,哨兵,集群模式
    springboot2默认已经使用了lettuce-core,没有使用jedis和Redisson,springboot1使用的是jedis。我使用的springboot版本是2.6.14。(对应的lettuce版本为6.1.10.RELEASE,对应jedis版本为3.7.1)<dependency><groupId>io.lettuce</groupId><artifactId>lettuce-core</artifactI......
  • 要搭建Redis集群高可用
    一.部署因为架构要求,只分配了两台服务器,要搭建Redis集群,为此针对两台服务器搭建了一套特殊的哨兵集群,特殊在不能无限切换,只能抗住1-2次宕机或网络故障,1-2次故障之后,集群切换机制便不能使用,需要人工按后文的步骤修复;1.前期准备准备AB两台服务器部署Redis集群,选择A服务器作为......
  • docker安装
    1、配置网络添加外网配置外网TYPE=EthernetBOOTPROTO=dhcpNAME=ens34DEVICE=ens34ONBOOT=yes(我的外网是ens34所以说里面的配置便是34如有不同可以修改)重启网络服务ystemctlrestartnetwork重启之后可以ping一下百度来看一下自己的服务是否有网有网之后就可以安装docker了2......
  • docker 命令学习
    1.dockerpullnginx 拉取镜像2.dockerrun -d -it --namenginx01-p4433:80nginx 运行容器3.dockerps查看运行的容器4.docker stop nginx01 停止容器5.dockerstart nginx01 启动容器6.dockerrmnginx01删除容器7.dockerstats 查看容器......
  • docker常用命令
    以下是一些常用的Docker命令:dockerimages:查看本地的镜像。dockerps:查看当前正在运行的容器。dockerps-a:查看所有的容器,包括已经停止的容器。dockerrun:创建一个新的容器并运行一个命令。例如:dockerrun-itd--namemy-containernginx。dockerstart:启动一个已经停止的容器。......
  • docker安装
    yum-yupdateyumremovedockerdocker-commondocker-selinuxdocker-engineyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2yum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyuminstall-ydocker-ce......
  • 清理docker 废弃镜像
    1.如何清理docker废弃镜像随着应用程序升级更新,在宿主机/var/lib/docker目录下的磁盘空间可能占用较大 1.按照以下方案处理:dockerimages|grepnone查看是否有很多没有版本的镜像2.删除垃圾镜像:dockerrmi$(dockerimages|grepnone|awk'{......