美文网首页
redis扩容缩容

redis扩容缩容

作者: 青水山 | 来源:发表于2023-05-30 09:59 被阅读0次

手动扩容

1、添加新节点到集群

./redis-cli -a  xxx --cluster add-node newIP:newPort oldIP:oldPort  

2、设置新节点主从关系

redis-cli -h 10.2.19.213 -p 6383 -a xxxx cluster replicate masterID

3、单个节点slot负载均衡

./redis-cli -a 密码 --cluster reshard oldIP:oldPort  

自动扩容

1、添加新节点到集群

./redis-cli -a  xxx --cluster add-node newIP:newPort oldIP:oldPort  

2、设置新节点主从关系

redis-cli -h 10.2.19.213 -p 6383 -a xxxx cluster replicate masterID

3、所有节点,一次性reblance

--cluster-simulate 预估迁移槽位,不真正执行。
--cluster-pipeline 50 建议每次迁移50个key,以往这个数量很平稳
--cluster-use-empty-masters 重新平方slot时,包含没有slot 的节点
./redis-cli -a xxxx --cluster rebalance --cluster-use-empty-masters --cluster-simulate --cluster-pipeline 50 10.2.321.149:6380
./redis-cli -a xxxx --cluster rebalance --cluster-use-empty-masters --cluster-pipeline 50 10.2.321.149:6380

缩容

1、剔除slave节点

./redis-cli -a  xxxx --cluster del-node 10.2.324.28:6380 待删除节点ID

2、如果是主节点,将slot迁移到其他节点。
3、master没有slot时,也可以剔除。

常见问题

reshard 出错后,
[WARNING] Node 10.2.68.324:6391@16391 has slots in importing state (0).
[WARNING] Node 10.2.22.229:6380@16380 has slots in migrating state (0).
[WARNING] The following slots are open: 0
# 解决办法
把目标节点的slot 删除
redis-cli -h 10.2.68.324 -p 6391 -a 密码 cluster delslots 0

slot 在migrating状态,需要关闭
>>> Check for open slots...
[WARNING] Node 10.2.22.229:6380@16380 has slots in migrating state (0).
[WARNING] The following slots are open: 0
>>> Fixing open slot 0
Set as migrating in: 10.2.22.229:6380@16380
Set as importing in: 
[ERR] Sorry, Redis-trib can't fix this slot yet (work in progress). Slot is set as migrating in 10.2.22.229:6380@16380, as importing in , owner is 10.2.22.229:6380@16380
>>> Check slots coverage...
[OK] All 16384 slots covered.
# 必须连接出问题的 端口
redis-cli -h 10.2.22.229 -p 6380 -a 密码 CLUSTER SETSLOT 0 STABLE

#遇到一次redis集群,在扩容时报错,最终选择redis-shake迁移到新集群
当源端一次执行多个key时,不在同一个slot中,会导致扩容的失败
CROSSSLOT Keys in request don't hash to the same slot

相关文章

  • Redis入门到高可用-9.Redis集群伸缩

    1.概要 伸缩原理 扩容原理 缩容原理 2.伸缩原理 Redis伸缩原理.png 3.扩容集群 Redis扩容集群...

  • Redis集群扩容和缩容

    https://blog.csdn.net/zsj777/article/details/80235568

  • Redis 集群扩容和缩容

    集群的伸缩 这里也是使用的docker部署的扩容就是在之前集群的compose中加入了两个容器作为一主和一从 下面...

  • Redis Cluster 中心化分布式架构的优势及具体实现

    Redis Cluster支持在线迁移,方便自动缩容扩容,支持自动故障切换。相对于codis,oneStroe,t...

  • redis字典dict——Part3:rehash

    随着redis不断插入或者删除数据,dict保存的键值对也会增多或者减少,此时dict也会进行相对应的扩容和缩容,...

  • 实现自己的动态数组

    GenericArray 属性与构造函数 关键点 动态扩容resize 缩容

  • Pod扩容和缩容

    在实际生产系统中,我们经常会遇到某个服务需要扩容的场景,也可能会遇到由于资源紧张或者工作负载降低而需要减少服务实例...

  • 59 Arraylist

    ArrayList源码解读 扩容(1.5倍扩容)和缩容存放元素: 有序线程是否安全 不安全get add 方法 数...

  • 动态数组:扩容与缩容

    动态数组:扩容与缩容 动态数组 是一种动态存储的线性表,所有元素的内存地址都是连续的。 很多语言的开发都需要用到数...

  • Pod自动扩容与缩容

    Pod自动扩容/缩容 HPA介绍 HPA基本工作原理 使用HPA前提条件 API聚合层 启用聚合层 基于资源指标 ...

网友评论

      本文标题:redis扩容缩容

      本文链接:https://www.haomeiwen.com/subject/sbwsedtx.html