Redis学习 集群减缩(十八)
集群同时也支持节点下线掉
下线的流程如下:
流程说明:
- 确定下线节点是否存在槽slot,如果有,需要先把槽迁移到其他节点,保证整个集群槽节点映射的完整性;
- 当下线的节点没有槽或本身是从节点时,就可以通知集群内其它节点(或者叫忘记节点),当下线节点被忘记后正常关闭。
删除节点也分两种
一种是主节点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-trib.rb del-node 192.168.42.111:6382 3e50c6398c75e0088a41f908071c2c2eda1dc900
此时节点下线完成……