迁移元数据 本章节介绍了如何迁移分布式消息服务RocketMQ实例的元数据。 操作场景 分布式消息服务RocketMQ支持通过控制台迁移其他厂商或自建RocketMQ实例的元数据到云上RocketMQ实例。 前提条件 已购买RocketMQ实例。 步骤一:获取其他厂商或自建RocketMQ实例的元数据 1. 进入RocketMQ实例的安装目录,执行以下命令,查询集群名称。 sh ./bin/mqadmin clusterList n {nameserver地址及端口号} 例如:“nameserver地址及端口号”为“192.168.0.65:8100”。 sh ./bin/mqadmin clusterList n 192.168.0.65:8100 2. 执行以下命令,导出元数据。 sh ./bin/mqadmin exportMetadata n {nameserver地址及端口号} c {RocketMQ集群名称} f {导出的元数据文件的存放路径} 例如:“nameserver地址及端口号”为“192.168.0.65:8100”,“RocketMQ集群名称”为“DmsCluster”,“导出的元数据文件的存放路径”为“/tmp/rocketmq/export”。 sh ./bin/mqadmin exportMetadata n 192.168.0.65:8100 c DmsCluster f /tmp/rocketmq/export 步骤二 :在控制台迁移元数据 1. 登录分布式消息服务RocketMQ控制台。 2. 单击RocketMQ实例的名称,进入实例详情页面。 3. 在左侧导航栏,选择“元数据迁移”,进入迁移任务列表页面。 4. 单击“创建迁移任务”,弹出“创建迁移任务”对话框。 5. 参考表1,设置迁移任务的参数。 表1 迁移任务参数说明 参数 说明 任务名称 您可以自定义迁移任务的名称,用于区分不同的迁移任务。 是否同名覆盖 如果开启同名覆盖,会对已有的同名元数据的配置进行修改。例如:原实例Topic01的读队列个数为3,云上实例Topic01的读队列个数为2,开启同名覆盖后,云上实例Topic01的读队列个数变为3。如果不开启同名覆盖,同名元数据的迁移将失败。例如:原实例的Topic包含Topic01和Topic02,云上实例的Topic包含Topic01和Topic03,不开启同名覆盖,原实例Topic01的迁移将失败。 元数据 上传其他厂商或自建RocketMQ实例的元数据。 6. 单击“确定”。 迁移完成后,在迁移任务列表页面查看“任务状态”。 当“任务状态”为“迁移完成”,表示所有元数据都已成功迁移。 当“任务状态”为“迁移失败”,表示元数据中部分或全部元数据迁移失败。单击迁移任务名称,进入迁移任务详情页,在“迁移结果”中查看迁移失败的Topic/消费组名称,以及失败原因。 图 迁移结果