当您想要将A地域的云消息队列 Kafka 版上的业务无损迁移至B地域,或者创建实例后想复制已有实例元数据(Topic、Group)配置时,您可以使用云消息队列 Kafka 版提供的迁移工具将某个云消息队列 Kafka 版实例的Topic、Group迁移至另一个云消息队列 Kafka 版实例中。
前提条件
迁移不会删除源云消息队列 Kafka 版实例的Topic/Group,只是在目标云消息队列 Kafka 版实例创建相同配置的Topic/Group。
迁移内容仅为Topic/Group配置,不包含Topic/Group中存储的数据。
操作步骤
Topic
打开命令行工具。
使用cd命令将路径切换到迁移工具所在目录。
执行以下命令,对要迁移的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。
返回结果示例如下:
执行以下命令,迁移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
提交迁移请求。
返回结果示例如下:
MigrationSuccessFlag列为
true
代表Topic已成功在目标实例中创建。
Group
打开命令行工具。
使用cd命令将路径切换到迁移工具所在目录。
执行以下命令,对要迁移的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。
返回结果示例如下:
执行以下命令,迁移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
提交迁移请求。
返回结果示例如下:
MigrationSuccessFlag列为
true
代表Topic已成功在目标实例中创建。
结果验证
登录云消息队列 Kafka 版控制台,在概览页面的资源分布区域,选择地域。
在实例列表页面,单击目标实例名称。
Topic:在实例详情页面,单击左侧导航栏的Topic 管理,在Topic列表中,查看成功迁移的Topic。
Group:在实例详情页面,单击左侧导航栏的Group 管理,在Group列表中,查看成功迁移的Group。
后续操作
由于迁移过程中涉及实例切换,请在迁移结束后检查客户端实例接入点是否需要更新,详情请参见查看接入点。