想要删除集群节点中的某一个节点,需要严格执行2步:
1、 将这个节点上的所有插槽转移到其他节点上
2、 使用 Redis-trib.rb 删除节点
下面 假设我们要删除 6382 这个节点为例
/usr/local/bin/redis-cli
cluster nodes
a ) 在 /my_soft/redis安装包及jar包/redis-3.0.4/src 目录下执行脚本:
./redis-trib.rb reshard 192.168.3.15:6382
c ) 接收 转移的节点的id,我们转移到 6379 节点:904cfd517c446a9546a90cfafcc86f820b0883ab
d ) 输入插槽来源id,也就是6382的id : a3c45f11019e14bfabe47e7c4060772c473e86b3
e ) 输入done,开始转移
f ) 查看集群信息
可以 看到6382 节点上已经没有插槽了。
/usr/local/bin/redis-cli
cluster nodes
del-node host:port node_id
./redis-trib.rb del-node 192.168.3.15:6382 a3c45f11019e14bfabe47e7c4060772c473e86b3
执行命令:
/usr/local/bin/redis-cli
cluster nodes
可以看到集群中已经没有了6382 这个节点了。