栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

RedisCluster集群模式之缩容节点

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

 

到这里,缩容完成。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/737379.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号