深入学习 Redis Cluster - 集群缩容(全网最详细)

目录

一、集群缩容

1.1、准备环境

1.2、第一步,删除从节点

1.3、第二步,重新分配 slots

第一次分配:分配给 106 1365 个 slots

第二次分配:分配给102 1365 个 slots

此时查看集群状态,可以看到 110 节点不再持有 slots 了.

1.4、删除主节点


一、集群缩容


1.1、准备环境

这里我已经部署了 redis 集群.

接下来演示把 110 主节点 和 他的从节点 101 删除掉.

1.2、第一步,删除从节点

这里需要先删除 101 这个从节点

# redis-cli --cluster del-node [集群中任⼀节点ip:port] [要删除的从机节点 nodeId] 
redis-cli --cluster del-node 172.30.0.103:6379 1ab44ec0af20e3ea459931f6cbe9fb55d745eb02

1.3、第二步,重新分配 slots

redis-cli --cluster reshard 172.30.0.103:6379

执行后仍然进入交互式操作.

Ps:此时要删除的主节点,包含 4096 个 slots,我们需要把 110 这个主节点上的 这 4096个 slots 分成三分(1365 + 1365 + 1366),分别分给其他三个主节点.

这样可以使得 reshard 之后的集群各个分片 slots 数目仍然均匀.

第一次分配:分配给 106 1365 个 slots

Ps:接收 slots 的 id 写 106 的,Source Node #1填写 110 的 id.  Source Node #2填写 done 即可.

 

第二次分配:分配给102 1365 个 slots

 

第三次分配:分配给 103 1366 个 slots

和上述一样的步骤.

此时查看集群状态,可以看到 110 节点不再持有 slots 了.

1.4、删除主节点

把 110 这个节点从集群中删除.

# redis-cli --cluster del-node [集群中任⼀节点ip:port] [要删除的从机节点 nodeId] 
redis-cli --cluster del-node 172.30.0.103:6379 f5148db06adea77bc4169b66e4e3dc9524d07867

再次查看集群节点信息,110 节点已经不在集群中了.

 

至此,缩容操作完成.

猜你喜欢

转载自blog.csdn.net/CYK_byte/article/details/132945490