迁移Topic上云

本文介绍如何使用云消息队列 Kafka 版提供的迁移工具将自建Kafka集群的Topic迁移到云消息队列 Kafka 版实例。

前提条件

您已完成以下操作:

操作步骤

  1. 打开命令行工具。

  2. 使用cd命令将路径切换到迁移工具所在目录。

  3. 执行以下命令,对要迁移的Topic进行预检。

    java -jar kafka-migration-assessment.jar TopicMigrationFromZk  \ 
    --sourceZkConnect 192.168.XX.XX  \ 
    --destAk <yourdestAccessKeyId>  \ 
    --destSk <yourdestAccessKeySecret>  \ 
    --destRegionId <yourdestRegionId>  \ 
    --destInstanceId <yourdestInstanceId>

    参数

    描述

    sourceZkConnect

    自建的源ZooKeeper集群的IP地址

    destAk

    目标云消息队列 Kafka 版实例所属阿里云账号的AccessKey ID

    destSk

    目标云消息队列 Kafka 版实例所属阿里云账号的AccessKey Secret

    destRegionId

    目标云消息队列 Kafka 版实例的地域ID

    destInstanceId

    目标云消息队列 Kafka 版实例的ID

    待确认的返回结果示例如下:

    13:40:08 INFO - Begin to migrate topics:[test]
    13:40:08 INFO - Total topic number:1
    13:40:08 INFO - Will create topic:test, isCompactTopic:false, partition number:1
  4. 执行以下命令,迁移Topic。

    java -jar kafka-migration-assessment.jar TopicMigrationFromZk  \ 
    --sourceZkConnect 192.168.XX.XX  \ 
    --destAk <yourdestAccessKeyId>  \ 
    --destSk <yourdestAccessKeySecret>  \ 
    --destRegionId <yourdestRegionId>  \ 
    --destInstanceId <yourdestInstanceId>  \
    --commit

    参数

    描述

    commit

    提交迁移

    提交迁移的返回结果示例如下:

    13:51:12 INFO - Begin to migrate topics:[test]
    13:51:12 INFO - Total topic number:1
    13:51:13 INFO - cmd=TopicMigrationFromZk, request=null, response={"code":200,"requestId":"7F76C7D7-AAB5-4E29-B49B-CD6F1E0F508B","success":true,"message":"operation success"}
    13:51:13 INFO - TopicCreate success, topic=test, partition number=1, isCompactTopic=false
  5. 确认Topic迁移是否成功。

    1. 登录云消息队列 Kafka 版控制台

    2. 概览页面的资源分布区域,选择地域。

    3. 实例列表页面,单击目标实例名称。

    4. 在左侧导航栏,单击Topic 管理

    5. Topic 管理页面的Topic列表中,显示成功迁移的Topic。