首页 > 数据库 >docker版redis-cluster模式集群-主从扩容

docker版redis-cluster模式集群-主从扩容

时间:2022-09-30 15:37:15浏览次数:76  
标签:-- redis cluster 6387 集群 docker 节点

  3主3从节点在上篇:docker版redis-cluster模式集群搭建(3主3从)

1、新建6387、6388两个节点

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

2、进入6387容器实例内部

docker exec -it redis-node-7 /bin/bash

3、将新增的6387节点(空槽号)作为master节点加入原集群

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

  6387 就是将要作为master新增节点
  6381 就是原来集群节点里面的领路人

4、检查集群情况

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

 

 

 

5、重新分派槽号

  从上图集群节点信息可以看出,6387节点没有分配哈希槽,因为之前3台Master已经分完了16384个哈希槽。我们重新分配哈希槽,让6387分配到一定的哈希槽,重新分配后,还要考虑之前的Redis节点数据迁移。

  本例采用平均分配方式,16384/4=4096

  输入完命令后会问你三个问题:
    a.每个分配多少个槽位:4个主节点,AA分配,16384/4=4096
    b.分配给节点的ID:此处6387节点的ID
    c.从哪个节点分配给6387:此处all

redis-cli --cluster reshard IP地址:端口号

6、检查集群情况第2次

 

 

为什么6387是3个新的区间,以前的还是连续?
重新分配成本太高,所以前3家各自匀出来一部分,从6381/6382/6383三个旧节点分别匀出1364个坑位给新节点6387

7、为主节点6387分配从节点6388

redis-cli --cluster add-node ip:新slave端口 ip:新master端口 --cluster-slave --cluster-master-id 新主机节点ID

 

 

 8、检查集群情况第3次

 

 

 4主4从完成。

缩容可看下篇:docker版redis-cluster模式集群-主从缩容

标签:--,redis,cluster,6387,集群,docker,节点
From: https://www.cnblogs.com/qyan/p/16738277.html

相关文章

  • docker版redis-cluster模式集群搭建(3主3从)
    开放端口:开放Redis服务的两个TCP端口。譬如Redis客户端连接端口为6379,而Redis服务在集群中还有一个叫集群总线端口,其端口为客户端连接端口加上10000,即6379+10000=......
  • docker版redis-cluster模式集群-主从缩容
    接上篇扩容:docker版redis-cluster模式集群-主从扩容下线6387和63881、从集群中将4号从节点6388删除,并检查结果redis-cli--clusterdel-nodeip:从机端口从机......
  • centos7安装docker和docker-compose
    安装docker安装依赖yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2yum-config-manager\--add-repo\https://mirrors.aliyun.com/docker-ce......
  • Recluster Table | RFC 解读
    背景DatabendClustering的设计受到SnowflakeDataClustering和OracleAttributeClustering的启发。注:这里的Clustering是分组、聚类的意思,下文将译为聚类。......
  • Docker入门学习
    1.运行第一个docker容器dockerrun-i-tubuntu/bin/bash参数说明:-i,--interactive=false,打开STDIN,用于控制台交互-t,--tty=false,分配tty设备,该可以支持终端登录,默认......
  • docker容器的创建及常用操作命令详解
    docker容器简介容器就是对外提供服务的一个实例。容器启动的必要条件:容器内至少有一个进程运行在前台1、创建容器1234567891011121314151617......
  • redis面试题
    一、线程1.1、redis是单线程还是多线程Redis6.0版本以前的单线程是指其网络I/O和键值对读写是由一个线程完成的Redis6.0引入的多线程指的是网络请求过程采用了多线程,而......
  • redis
                                                        ......
  • Redis(六)应用问题解决
    第一章缓存穿透1.1问题描述key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会压到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用......
  • 容器云运维实战:Docker与Kubernetes集群 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1GZixRQCNyhgMgnamhQ6XyQ点击这里获取提取码 ......