本文介绍如何使用云消息队列 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 <yourAccessKeyId> --destSk <yourAccessKeySecret> --destRegionId <yourRegionID> --destInstanceId <yourInstanceId> --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。