美文网首页
Redis~扩容与缩容

Redis~扩容与缩容

作者: 开心的蛋黄派 | 来源:发表于2024-01-21 16:44 被阅读0次

一 集群扩容步骤

准备新节点

安装和配置新的Redis实例,确保它的版本与现有集群兼容。

将新节点加入集群

使用redis-cli --cluster add-node 命令将新节点加入到现有集群中。

指定新节点的IP地址和端口,以及集群中任意一个现有节点的IP地址和端口。

分配哈希槽

新加入的节点默认不会分配任何哈希槽,因此它不会存储任何数据。

使用redis-cli --cluster reshard命令来重新分配哈希槽,将一部分槽位从现有节点移动到新节点。

在reshard过程中,需要指定迁移的槽位数量、源节点和目标节点。

数据迁移

举例

节点 A:负责 0-5460 号哈希槽

节点 B:负责 5461-10922 号哈希槽

节点 C:负责 10923-16383 号哈希槽

每个主节点应有的槽点数 = 16384 / 目标主节点数=4096

迁移后应该为

节点 A:负责 0-4095 号哈希槽

节点 B:负责 4096-8191 号哈希槽

节点 C:负责 8192-12287 号哈希槽

节点 D:负责 12288-16383 号哈希槽

数据迁移是自动的,但可能需要一些时间,具体取决于要迁移的数据量。

验证集群状态

使用redis-cli --cluster info和redis-cli --cluster slots命令来验证集群的状态和槽位的分配情况。

确保新节点已经成功加入集群,并且被分配了相应数量的哈希槽。

添加从节点(可选):

如果需要提高集群的可用性,可以为新加入的主节点添加一个或多个从节点。

使用redis-cli --cluster add-node命令,并加上--cluster-slave和--cluster-master-id选项来指定从节点对应的主节点。

客户端更新

客户端可能需要更新其集群配置,以便能够正确地与新的集群拓扑结构进行通信。

在某些情况下,可能需要重启客户端应用程序或强制其刷新集群状态。

监控和维护

监控新节点的性能和集群的整体状态,确保扩容过程没有引入任何问题。

根据需要调整集群的配置和优化参数,以获得最佳性能。

请注意,执行集群扩容操作时应当谨慎,并确保在维护窗口内进行,以最小化对生产环境的影响。此外,建议在正式环境中进行扩容之前,先在测试环境中验证整个过程的正确性和可行性

二 删除节点

若需要从集群中删除节点,首先需要确保该节点上的所有数据槽都已经迁移到其他节点上。这可以通过reshard命令实现。迁移完成后,使用redis-cli --cluster del-node命令删除节点,例如:

sh复制代码

redis-cli --cluster del-node {node_to_delete_ip}:{node_to_delete_port} {node_to_delete_id} -a password

在执行删除节点操作时,需要确保集群的健康状态和数据的完整性,以避免数据丢失或服务中断。

相关文章

  • 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...

  • 实现自己的动态数组

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

  • 动态数组:扩容与缩容

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

  • Pod自动扩容与缩容

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

  • redis字典dict——Part3:rehash

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

  • Pod扩容和缩容

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

  • 59 Arraylist

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

网友评论

      本文标题:Redis~扩容与缩容

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