主从扩容案例(三主三从到四主四从)
1、新建6387、6388两个节点+新建后启动+查看是否8节点
docker run -d -name redis-node-7 -net host --privileged=true -v /datalredis/sharelredis-node-7:1data redis:6.0.8 -cluster-enabled yes --appendonly yes -port 6387 docker run -d -name redis-node-8 -net host --privileged=true -v /dataredis/sharelredis-node-8:/data redis.6.0.8 -cluster-enabled yes --appendonly yes -port 6388 docker ps

执行命令,加入7、8

2、进入6387容器实例内部
执行
docker exec -it redis-node-7 /bin/bash
3、将新增的6387节点(空槽号)作为master节点加入原集群
将新增的6387作为master节点加入集群
redis-cli --cluster add-node 自己实际IP地址:6387自己实际IP地址:6381
(6387为master新增节点,6381就是原来集群节点里面的领路人,相当于6387对接6381的码头从而找到组织加入集群)


4、检查集群情况第1次
redis-cli --cluster check 真实ip地址:6381

5、重新分派槽号
命令:
redis-cli --cluster reshard IP地址:端口号
(redis-cli --cluster reshard 192.168.111.147:6381)
(自己的自己查看)


6、检查集群情况第2次
redis-cli --cluster check 真实ip地址l:6381


显示:槽号是前3家各自匀出来一部分
槽号分派说明:为什么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
redis-cli --cluster add-node 192.168.111.147:6388 192.168.111.147:6387 --cluster-slave --cluster-master-ide4781f644d4a4e4d4b4d107157b9ba8144631451
(这个是6387的编号,按照自己实际情况)

8、检查集群情况第3次
redis-cli --cluster check 192.168.111.147:6382
![]()
不一定6382,只要是可用的主节点就可以,看个人习惯。


六主六从。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程