RedisCluster集群模式之缩容节点

上一篇文章讲到扩容节点:

RedisCluster集群模式扩容节点_huangyuewang的专栏-CSDN博客

1,把7006哈希槽给到7000节点

缩容节点把7006和7007下线;

案例:把7006的4096哈希槽给到 7000节点

先找到7006和7000的集群ID:

7006: beb327340e04d25fb6a0bf0b52a0440c1e170ad2

7000: d654e32582c2a73ee8f505b693063db3c3f29e84

执行命令 reshard 进行缩容 

# 7006节点ID:beb327340e04d25fb6a0bf0b52a0440c1e170ad2
# 7000节点ID:d654e32582c2a73ee8f505b693063db3c3f29e84
# 4096 是把7006节点的所有哈希槽给到 7000节点
/application/redis/bin/redis-cli --cluster  reshard  172.16.166.122:7000  --cluster-from   beb327340e04d25fb6a0bf0b52a0440c1e170ad2  --cluster-to d654e32582c2a73ee8f505b693063db3c3f29e84  --cluster-slots 4096

执行后弹出提示,输入 yes

 查看 cluster nodes集群,看是否缩容成功

 可以看到7006已经没有哈希槽了,而7000多出了4096哈希槽

2,在集群中删除7006和7007节点

删除7007 slave从节点:

#7007的集群ID:3af92f614b394efa14ed46299be3c9064124f8ed
/application/redis/bin/redis-cli --cluster del-node 172.16.166.122:7000 3af92f614b394efa14ed46299be3c9064124f8ed

执行结果:

 删除7006 master 主节点:

#7006集群ID:56324f7b5fd09855f77e24ab384b70728e83173b
/application/redis/bin/redis-cli --cluster del-node 172.16.166.122:7000 56324f7b5fd09855f77e24ab384b70728e83173b

继续查看集群cluster nodes 详细信息:

可以看到集群已经没有7006和7007节点了。

可能有朋友会问,那么之前存到7006的key到哪去了?

 答:之前set d 4 是存到7006节点的(下图),由于缩容时指定了7000节点,把所有哈希槽都给了7000了,那么get d 就会从7000节点找到该哈希槽

那么执行 get d 就会从7000节点找到该key

 

到这里,缩容完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值