Redis学习 集群减缩(十八)

集群同时也支持节点下线掉

下线的流程如下:

Redis学习 集群减缩(十八)

流程说明:

  1. 确定下线节点是否存在槽slot,如果有,需要先把槽迁移到其他节点,保证整个集群槽节点映射的完整性;
  2. 当下线的节点没有槽或本身是从节点时,就可以通知集群内其它节点(或者叫忘记节点),当下线节点被忘记后正常关闭。

删除节点也分两种

一种是主节点6382,一种是从节点6392。

在从节点6392中,没有分配哈希槽,执行

./redis-trib.rb del-node 192.168.42.111:6392 7668541151b4c37d2d9 有两个参数ip:port  和节点的id。 从节点6392从集群中删除了。

主节点6382删除步骤

./redis-trib.rb reshard 192.168.42.111:6382

  问我们有多少个哈希槽要移走,因为我们这个节点上刚分配了1000 个所以我们这里输入1000

Redis学习 集群减缩(十八)

最后

./redis-trib.rb del-node 192.168.42.111:6382 3e50c6398c75e0088a41f908071c2c2eda1dc900

此时节点下线完成……