目录
一、集群缩容
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 节点已经不在集群中了.
至此,缩容操作完成.