tencent cloud

文档反馈

从自建集群迁移元数据

最后更新时间:2023-05-16 11:02:03

    操作场景

    客户在使用 TDMQ RocketMQ 版时,通常会面临着存量业务的切换,例如从自建的 RocketMQ 或者其他平台的托管版 RocketMQ 迁移到 TDMQ-RocketMQ 版上。
    该任务指导您将自建的开源 RocketMQ 集群的元数据迁移至腾讯云消息队列 RocketMQ 版。
    说明
    专享集群和虚拟集群均支持元数据迁移,且迁移步骤相同。

    前提条件

    已提前在控制台中创建好云上集群命名空间

    操作步骤

    步骤1:导出元数据文件

    如您使用的是自建的开源版 RocketMQ,我们提供了两种方法帮助您导出元数据。

    方法一

    如您的环境可以访问公网,直接在您的服务器运行如下脚本(如果您的 RocketMQ 集群包含多台机器,在保证集群内网络互通的情况下,在任意机器运行即可)。
    /bin/bash -c "$(curl -fsSL https://rocketmq-1306598660.cos.ap-guangzhou.myqcloud.com/rocketmq-export.sh)"

    方法二

    如您的网络环境没有公网访问权限,
    1. 下载 迁移上云工具 到本地。
    2. 将下载好的工具上传至您自建的 RocketMQ 集群(如果您的 RocketMQ 集群包含多台机器,在保证集群内机器间网络互通的情况下,在任意机器运行即可)。
    3. 解压并进入到工具的目录。
    unzip rocketmq-migration.zip
    cd rocketmq-migration
    4. 执行如下命令进行迁移。
    ./bin/export.sh
    // 输入需要导出的开源Rocketmq的地址,如localhost:9876
    Enter name server address list:localhost:9876
    // 选择输入一个需要导出的集群名称,如DefaultCluster
    Choose a cluster to export:DefaultCluster
    // 输入元数据导出的目录,默认最终的元数据存放于/tmp/rocketmq/config/rocketmq-metadata-export.json
    Enter file path to export [default /tmp/rocketmq/export]:

    步骤2:创建迁移任务

    1. 登录 TDMQ RocketMQ 控制台,进入 迁移上云 页面。进入到迁移任务列表页。单击 新建任务 创建对应的迁移任务。
    2. 选择迁移任务类型:
    集群迁移:将原先自建集群的元数据迁移到已创建的集群中来,在进行“集群迁移”任务时,迁移工具默认会将开源 RocketMQ Dashboard 中 topic 名称内“%”前的部分解析为命名空间的名称,以此来为您创建多个互相逻辑隔离的命名空间。如原先自建集群中没有区分命名空间,则系统会默认为您生成一个名为 default 的命名空间。
    导入至指定的命名空间:将原先自建集群的元数据迁移到指定的命名空间内。如原先的topic没有区分命名空间或者进行业务分类,可以借助迁移上云的机会,在接下来导入的过程中,选择特定的 topic 和 group,指定它们进入不同的命名空间以区分业务或者环境。
    3. 根据图示,上传在第一步中获取的元数据文件,选择需要导入的 topic 和 group。
    注意
    单个任务只能导入最多1000条 topic 和1000条 group 数据,多余的数据将出现导入失败的情况。

    步骤3:查看任务状态

    任务创建成功后,进入任务列表查看任务进度。如果数据过多时,任务需要加载一段时间。单击查看详情可以查看任务具体的运行状态。
    如果任务出现 “部分失败” 或者 “全部失败” 的场景,可以通过筛选查看失败的任务原因。
    
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持