全部產品
Search
文件中心

ApsaraMQ for Kafka:雲上遷移Topic和Group

更新時間:Dec 27, 2024

當您想要將A地區的雲訊息佇列 Kafka 版上的業務無損遷移至B地區,或者建立執行個體後想複製已有執行個體中繼資料(Topic、Group)配置時,您可以使用雲訊息佇列 Kafka 版提供的遷移工具將某個雲訊息佇列 Kafka 版執行個體的Topic、Group遷移至另一個雲訊息佇列 Kafka 版執行個體中。

前提條件

重要
  • 遷移不會刪除源雲訊息佇列 Kafka 版執行個體的Topic/Group,只是在目標雲訊息佇列 Kafka 版執行個體建立相同配置的Topic/Group。

  • 遷移內容僅為Topic/Group配置,不包含Topic/Group中儲存的資料。

操作步驟

Topic

  1. 開啟命令列工具。

  2. 使用cd命令將路徑切換到遷移工具所在目錄。

  3. 執行以下命令,對要遷移的Topic進行預檢。

    java -jar kafka-migration-assessment.jar TopicMigrationFromAliyun  \
    --sourceAk <yoursourceAccessKeyId>  \
    --sourceSk <yoursourceAccessKeySecret>  \ 
    --sourceRegionId <yoursourceRegionId>  \ 
    --sourceInstanceId <yoursourceInstanceId>  \ 
    --destAk <yourdestAccessKeyId>  \ 
    --destSk <yourdestAccessKeySecret>  \ 
    --destRegionId <yourdestRegionId>  \ 
    --destInstanceId <yourdestInstanceId>

    上文中<>處內容需要替換為您的執行個體資訊,配置規則請參見下表:

    參數

    描述

    sourceAk

    雲訊息佇列 Kafka 版執行個體所屬阿里雲帳號的AccessKey ID。

    sourceSk

    雲訊息佇列 Kafka 版執行個體所屬阿里雲帳號的AccessKey Secret。

    sourceRegionId

    雲訊息佇列 Kafka 版執行個體的地區ID。例如:cn-hangzhou

    sourceInstanceId

    雲訊息佇列 Kafka 版執行個體的ID。

    destAk

    目標雲訊息佇列 Kafka 版執行個體所屬阿里雲帳號的AccessKey ID。

    destSk

    目標雲訊息佇列 Kafka 版執行個體所屬阿里雲帳號的AccessKey Secret。

    destRegionId

    目標雲訊息佇列 Kafka 版執行個體的地區ID。例如:cn-hangzhou

    destInstanceId

    目標雲訊息佇列 Kafka 版執行個體的ID。

    返回結果樣本如下:

    image

  4. 執行以下命令,遷移Topic。

    java -jar kafka-migration-assessment.jar TopicMigrationFromAliyun  \ 
    --sourceAk <yoursourceAccessKeyId>  \ 
    --sourceSk <yoursourceAccessKeySecret>  \ 
    --sourceRegionId <yoursourceRegionId>  \ 
    --sourceInstanceId <yoursourceInstanceId>  \ 
    --destAk <yourdestAccessKeyId>  \ 
    --destSk <yourdestAccessKeySecret>  \ 
    --destRegionId <yourdestRegionId>  \ 
    --destInstanceId <yourdestInstanceId>  \ 
    --commit

    參數

    描述

    commit

    提交遷移請求。

    返回結果樣本如下:

    image

    MigrationSuccessFlag列為true代表Topic已成功在目標執行個體中建立。

Group

  1. 開啟命令列工具。

  2. 使用cd命令將路徑切換到遷移工具所在目錄。

  3. 執行以下命令,對要遷移的Group進行預檢。

    java -jar kafka-migration-assessment.jar ConsumerGroupMigrationFromAliyun  \
    --sourceAk <yoursourceAccessKeyId>  \ 
    --sourceSk <yoursourceAccessKeySecret>  \ 
    --sourceRegionId <yoursourceRegionId>  \ 
    --sourceInstanceId <yoursourceInstanceId>  \ 
    --destAk <yourdestAccessKeyId>  \ 
    --destSk <yourdestAccessKeySecret>  \ 
    --destRegionId <yourdestRegionId>  \ 
    --destInstanceId <yourdestInstanceId>

    上文中<>處內容需要替換為您的執行個體資訊,配置規則請參見下表:

    參數

    描述

    sourceAk

    雲訊息佇列 Kafka 版執行個體所屬阿里雲帳號的AccessKey ID。

    sourceSk

    雲訊息佇列 Kafka 版執行個體所屬阿里雲帳號的AccessKey Secret。

    sourceRegionId

    雲訊息佇列 Kafka 版執行個體的地區ID。例如:cn-hangzhou

    sourceInstanceId

    雲訊息佇列 Kafka 版執行個體的ID。

    destAk

    目標雲訊息佇列 Kafka 版執行個體所屬阿里雲帳號的AccessKey ID。

    destSk

    目標雲訊息佇列 Kafka 版執行個體所屬阿里雲帳號的AccessKey Secret。

    destRegionId

    目標雲訊息佇列 Kafka 版執行個體的地區ID。例如:cn-hangzhou

    destInstanceId

    目標雲訊息佇列 Kafka 版執行個體的ID。

    返回結果樣本如下: image

  4. 執行以下命令,遷移Group。

    java -jar kafka-migration-assessment.jar ConsumerGroupMigrationFromAliyun  \
    --sourceAk <yoursourceAccessKeyId>  \ 
    --sourceSk <yoursourceAccessKeySecret>  \ 
    --sourceRegionId <yoursourceRegionId>  \ 
    --sourceInstanceId <yoursourceInstanceId>  \ 
    --destAk <yourdestAccessKeyId>  \ 
    --destSk <yourdestAccessKeySecret>  \ 
    --destRegionId <yourdestRegionId>  \ 
    --destInstanceId <yourdestInstanceId>  \
    --commit

    參數

    說明

    commit

    提交遷移請求。

    返回結果樣本如下: image

    MigrationSuccessFlag列為true代表Topic已成功在目標執行個體中建立。

結果驗證

  1. 登入雲訊息佇列 Kafka 版控制台,在概览頁面的资源分布地區,選擇地區。

  2. 实例列表頁面,單擊目標執行個體名稱。

    • Topic:在实例详情頁面,單擊左側導覽列的Topic 管理,在Topic列表中,查看成功遷移的Topic。

    • Group:在实例详情頁面,單擊左側導覽列的Group 管理,在Group列表中,查看成功遷移的Group。

後續操作

由於遷移過程中涉及執行個體切換,請在遷移結束後檢查用戶端執行個體存取點是否需要更新,詳情請參見查看存取點