下面我们将展示主从缩容案例:

在学习案例之前,我们会遇到以下两个普遍的问题:

(1)原路返回?还是给某一台机器?

答:先删从机。

(2)是先删6387master还是6388slaver?

答:具体步骤分别是

a. 先清除从节点6388;

b. 清出来的槽号重新分配;

c. 再删除6387;

d. 恢复成3主3从。

 

主从缩容案例的具体操作如下:

1、明确目的:6387和6388下线

2、检查集群情况1获得6388的节点ID

redis-cli --cluster check 192.168.111.147:6382

 Docker Redis集群缩容步骤图文详解

 Docker Redis集群缩容步骤图文详解

3、将6388删除,从集群中将4号从节点6388删除

命令:

redis-cli --cluster del-node ip:从机端口从机6388节点ID(redis-cli        --cluster del-node 192.168.111.147:6388        5d149074b7e57b802287d1797a874ed7a1a284a8)
redis-cli --cluster check 192.168.111.147:6382

检查一下发现,6388被删除了,只剩下7台机器了。

 Docker Redis集群缩容步骤图文详解 

4、将6387的槽号清空,重新分配,本例将清出来的槽号都给6381

redis-cli -cluster reshard       192.168.111.147:6381

执行命令。

 Docker Redis集群缩容步骤图文详解

空出来的槽号由6381节点id接手。

 Docker Redis集群缩容步骤图文详解

告知删除的是6387的节点id。

5、检查集群情况第二次

redis-cli --cluster check 192.168.111.147:6381

(4096个槽位都指给6381,它变成了8192个槽位,相当于全部都给6381了,否则要输入3次,一锅端)

 Docker Redis集群缩容步骤图文详解

执行后,6387无槽位。

6、将6387删除

命令:

redis-cli --cluster del-node ip:端口        6387 节点ID
redis-cli --cluster del-node 192.168.111.147:6387        e4781f644d4a4e4d4b4d107157b9ba8144631451

7、检查集群情况第三次

redis-cli --cluster check 192.168.111.147:6381

  Docker Redis集群缩容步骤图文详解

缩容成功。 

点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)