更新时间:2024-11-29 GMT+08:00

调整Redis集群容量

操作场景

Redis集群建立后,MRS集群管理员可以根据业务数据的处理情况,将Redis节点中未加入其他Redis集群的实例增加到该集群中,或者释放Redis集群内的空闲实例,以供其他集群使用,提高硬件资源利用率。

操作步骤

Redis集群扩容

Redis逻辑集群支持在线扩容,在扩容的过程中需要将集群里面主实例中的部分槽位迁移到新扩容的实例当中,会占用业务的TPS,因此建议在线扩容操作在业务低峰期进行。为了确保扩容成功,需要对待扩容Redis逻辑集群进行下面检查:

  • 检查Redis告警信息,不能存在和待扩容集群以及集群内实例相关的告警(不包含Redis实例内存使用超过阈值)。
  • 在“集群 > 待操作集群的名称 > 服务 > Redis > 概览 > 告警和事件的历史记录”中查看当前Redis集群是否频繁发生主备倒换,如果频繁发生主备倒换,则不建议扩容。
  • 检查待扩容Redis集群是否开启RDB持久化,如果没有开启,则不建议进行扩容。
  • 同一节点下不建议扩容的Redis实例超过60个。
  1. 选择“集群 > 待操作集群的名称 > 服务 > Redis > Redis管理”。
  2. 单击要操作的Redis集群名称后“操作”列下的“扩容”。
  3. 在“选择实例”页面中选择需要加入Redis集群的Redis实例,然后单击“下一步”。

    为保证集群数据的高可靠性,系统须确保Redis集群内的实例满足以下条件,否则无法正常分配主从关系。

    • 一个Redis集群内的Redis实例必须分布到至少三台节点中(至少6个Redis实例)。
    • 一个Redis集群内的Redis实例总数为偶数,且同一组主从实例(例如M1与S1)不能在一台节点上。
    • 任意一台节点上的主Redis实例必须小于整个Redis集群主实例个数的一半。
    • 在集群进行扩容操作时,由于数据迁移,会导致部分业务数据读写异常,请尽可能使Redis集群负载较小或者不对外提供服务。
    • 开启跨AZ高可用之后,一个Redis集群内的实例至少分布在三个AZ中(至少6个Redis实例)。
    • 开启跨AZ高可用之后,集群内实例总数为偶数,且同一组主从实例(例如M1与S1)不能在同一个AZ中。
    图1 Redis集群扩容

  4. 系统会生成新加入的Redis实例的主从关系,单击“提交”。

Redis集群减容

Redis逻辑集群支持在线减容,在减容过程中需要将减容实例上的槽位迁移到集群内其他实例上,会占用业务的TPS,因此建议在线减容操作在业务低峰期进行。为了确保减容成功,需要对待减容Redis逻辑集群进行下面检查:

  • 检查Redis告警信息,不能存在和待减容集群以及集群内实例相关的告警(不包含Redis实例内存使用超过阈值)。
  • 在“集群 > 待操作集群的名称 > 服务 > Redis > 概览 > 告警和事件的历史记录”中查看当前Redis集群是否频繁发生主备倒换,如果频繁发生主备倒换,则不建议减容。
  • 检查待减容Redis集群是否开启RDB持久化,如果没有开启,则不建议进行减容。
  1. 选择“集群 > 待操作集群的名称 > 服务 > Redis > Redis管理”。
  2. 单击要操作的Redis集群名称后“操作”列下的“减容”。
  3. 在“选择实例”页面中选择需要释放的Redis实例,然后单击“下一步”。

    为保证集群数据的高可靠性,系统须确保Redis集群内的实例满足以下条件,否则无法正常分配主从关系。

    • 一个Redis集群内的Redis实例必须分布到至少三台节点中(至少6个Redis实例)。
    • 一个Redis集群内的Redis实例总数为偶数,且同一组主从实例(例如M1与S1)不能在一台节点上。
    • 任意一台节点上的主Redis实例必须小于整个Redis集群主实例个数的一半。
    • 在集群进行减容操作时,由于数据迁移,会导致部分业务数据读写异常,请尽可能使Redis集群负载较小或者不对外提供服务。
    • 开启跨AZ高可用之后,一个Redis集群内的实例至少分布在三个AZ中(至少6个Redis实例)。
    • 开启跨AZ高可用之后,集群内实例总数为偶数,且同一组主从实例(例如M1与S1)不能在同一个AZ中。
    • Redis减容目前不支持大Value,需要在减容之前导出删除大Value。

  4. 单击“提交”。