升级一个Active-Active数据库

升级一个Active-Active数据库。

当您升级Active-Active (CRDB)数据库时,您也可以升级CRDB协议版本和功能版本。

CRDB协议版本指南

Redis Enterprise Software 5.4.2 及更高版本使用 CRDB 协议版本 1 来帮助支持 Active-Active 功能。

CRDB协议版本1是向后兼容的,这意味着Redis Enterprise v5.4.2 CRDB实例可以理解使用早期CRDB协议版本0的实例的写操作。

在你将一个实例的CRDB协议升级到版本1之后:

  • 任何使用CRDB协议版本1的实例都可以从版本1和版本0的实例接收更新。

  • 然而,仍然使用CRDB协议版本0的实例无法接收来自版本1实例的写更新。

  • 当您将实例从CRDB协议版本0升级到版本1后,它会自动接收任何缺失的写操作。

遵循以下升级指南:

  • 在合理的时间范围内升级特定CRDB的所有实例,以避免实例之间的临时不一致。

  • 确保在对CRDB进行全局操作(例如删除实例和添加新实例)之前,升级特定CRDB的所有实例。

  • 从 v6.0.20 开始,协议版本 0 已被弃用,并将在未来的版本中移除支持。

  • 为了避免升级失败,在将Redis Enterprise Software升级到v6.0.20或更高版本之前,请将所有Active-Active数据库更新到协议版本1。

功能版本指南

从版本5.6.0开始,一个新的功能版本(也称为功能集版本)有助于支持新的Active-Active功能。

当您更新Active-Active数据库的功能版本时,所有数据库实例的功能版本都会更新。

遵循以下升级指南:

  • 自 v6.0.20 起,功能版本 0 已被弃用,并将在未来的版本中移除支持。

  • 为了避免升级失败,在将Redis Enterprise Software升级到v6.0.20或更高版本之前,请将所有Active-Active数据库更新到协议版本1。

升级Active-Active数据库实例

升级一个Active-Active数据库(CRDB)实例:

  1. 升级Redis企业版软件在每个集群节点上,这些节点位于Active-Active实例所在的集群中。

  2. 要查看您的Active-Active实例的状态,请运行:

    rladmin status
    

    节点上的Active-Active实例的状态可以表示:

    • 旧版REDIS版本
    • OLD CRDB PROTOCOL VERSION
    • 旧版 CRBD 功能集版本
  3. 要升级每个Active-Active实例及其模块,包括Redis版本和CRDB协议版本,请运行:

    rladmin upgrade db <database_name | database_ID>
    

    如果协议版本较旧,请仔细阅读警告信息并确认。

    Active-Active实例使用新的Redis版本和CRDB协议版本。

    使用keep_crdt_protocol_version选项可以在不升级CRDB协议版本的情况下升级数据库功能版本。

    如果您使用此选项,请确保在不久后使用rladmin upgrade db命令升级CRDB协议。

    在更新CRDB功能集版本之前,您必须升级CRDB协议。

  4. 如果功能集版本较旧,您必须升级所有Active-Active实例。然后,要为每个Active-Active数据库更新功能集,请运行:

    crdb-cli crdb update --crdb-guid <CRDB-GUID> --featureset-version yes
    

    您可以使用以下命令检索<CRDB-GUID>

    crdb-cli crdb list
    

    查找集群的完全限定域名(CLUSTER-FDQN)并使用关联的GUID:

    CRDB-GUID                             NAME    REPL-ID  CLUSTER-FQDN
    700140c5-478e-49d7-ad3c-64d517ddc486  aatest  1        aatest1.example.com
    700140c5-478e-49d7-ad3c-64d517ddc486  aatest  2        aatest2.example.com
    
  5. 使用以下命令语法更新CRDB配置中的模块信息:

    crdb-cli crdb update --crdb-guid <guid> --default-db-config \
    '{ "module_list": 
      [
        { 
          "module_name": "<module1_name>",
          "semantic_version": "<module1_version>" 
        },
        { 
          "module_name": "<module2_name>",
          "semantic_version": "<module2_version>" 
        }
      ]}'
    

    例如:

    crdb-cli crdb update --crdb-guid 82a80988-f5fe-4fa5-bca0-aef2a0fd60db --default-db-config \
    '{ "module_list": 
      [
        {
          "module_name": "search",
          "semantic_version": "2.4.6"
        },
        {
          "module_name": "ReJSON",
          "semantic_version": "2.4.5"
        }
      ]}' 
    
RATE THIS PAGE
Back to top ↑