redis5.0版本集群移除节点

redis 集群多了之后,发现现在的有些节点有些多余没用,或者达不到用那么多节点的情况,那么就可以进行 节点的移除, 5.0 版本由于不用 ruby 进行集群操作了,所以方式跟5.0以前有很多不同的地方

 

我以我机器上的 7008 节点为例

首先登录集群, 使用 cluster nodes 查看信息

获取到 7008 节点的ID(红圈中前面 8f111b3074341e145105d70bc27cf501553f239f

 

 

 

 

执行下面命令(红色部分是7008节点的ID)

/usr/local/redis-5.0.5/bin/redis-cli --cluster del-node 192.168.58.129:7008 8f111b3074341e145105d70bc27cf501553f239f

 

出现以上信息代表成功

登录 7007 节点。查看节点信息

 

可以看到节点信息中已经没有 7008了

 

 

接着删除7007, 这个是一个主节点,删除起来比较麻烦一点,因为主节点分配了 slot槽, 所以这里我们必须先把 7007的slot槽放到其他的可用节点中去,然后再进行移除节点操作才行,不然会出现数据丢失问题

 

步骤一:把数据移动到其它主节点中去(目前只能把数据移到另外一个节点,没办法做到平均分配)

执行重新分片命令

/usr/local/redis-5.0.5/bin/redis-cli --cluster reshard 192.168.58.129:7007

打印以下信息

 

弹出以下提示:

 

上面看到7007 哪里 只有 199 个slot 槽,这里就填 199

回车之后 出现 what is the receiving node ID? 意思是你想移动到那个节点上

 

我想移动到 7003的节点上,那么此处输入 7003节点的ID

 

回车

出现以下界面

 

这里需要数据源,其实就是 7007 节点的ID,因为你是吧 7007 节点的数据放到其它地方去, 输入 7007 的ID,回车

 

出现以下界面,

 

其实是让你还可以选择源节点,但是我这里只要把 7007 节点分到其它地方就行,如果没有再把其它主节点分摊的需要,此处输入 done即可,否则输入其它节点的ID,最后输入 done

 

打印一堆信息,最后出现这个询问:

 

是否按照计划分配,输入yes

执行完成之后,输入 cluster nodes 查看节点信息

 

 

可以看到 7007 已经没有槽分配了

 

接下来,调用删除从节点的方式,删除主节点

/usr/local/redis-5.0.5/bin/redis-cli --cluster del-node 192.168.58.129:7007 861e1fcfd5c1f0b8b407fcda6bee0959d3ad2c10

 

移除成功,再次查看节点信息

 

可以看到 7007 也没有了

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值