元数据导入

本文介绍如何在云消息队列 Kafka 版控制台创建迁移任务,将自建Kafka集群的元数据迁移至云消息队列 Kafka 版实例。

迁移流程

image

注意事项

  • Serverless实例暂不支持元数据导入任务。

  • 当自建Kafka集群不支持公网访问时,建议采用元数据导入的方式进行迁移。其他情况下推荐使用迁移上云功能进行迁移。

  • 元数据导入功能仅会将自建Kafka集群的TopicGroup导入到云消息队列Kafka实例,适用于开源自建Kafka集群迁移上云且无需进行消息数据导入的场景。如果需要导入消息数据和元数据,请直接使用迁移上云功能进行迁移。

  • 本文以自建Kafka集群在不支持公网访问的场景为例进行说明。

步骤一:规格评估

云消息队列 Kafka 版提供的规格评估功能,根据自建Kafka集群的信息,如集群流量情况、磁盘容量和类型等,评估并推荐需要的云消息队列 Kafka 版实例规格。具体操作请参见评估规格

步骤二:购买实例

根据评估得出的实例规格,购买云消息队列 Kafka 版实例并进行部署。购买实例时根据实际环境选择是否需要开启公网。

步骤三:导出元数据

  1. 登录自建Kafka集群服务器,下载并安装JDK811。

  2. 下载导出工具kafka-migration-assessment.jar

  3. 运行以下命令,赋予JAR包可执行权限。

    chmod 777 kafka-migration-assessment.jar
  4. 运行以下命令,导出元数据。

    java -jar kafka-migration-assessment.jar MigrationFromZk --sourceZkConnect <yourHost:yourPort> --sourceBootstrapServers <yourHost:yourPort> --targetDirectory <yourDirectoryName> --fileName <yourFileName> --commit

    参数

    说明

    示例

    sourceZkConnect

    自建Kafka集群的ZooKeeper IP地址和端口号。如果不指定,则自动获取。

    192.168.XX.XX:2181

    sourceBootstrapServers

    自建Kafka集群的IP地址和端口号。如果不指定,则自动获取。

    192.168.XX.XX:9092

    targetDirectory

    导出元数据文件的存放目录。如果不指定,则默认为当前目录。

    ../home/

    fileName

    导出元数据的文件名。如果不指定,则文件名称默认为: kafka-metadata-export.json。

    metadata.json

    commit

    提交运行。

    commit

    installTsar

    是否自动安装Tsar。默认不自动安装Tsar。

    安装Tsar可以更加准确地获取当前机器规格、近期存储情况、流量、Kafka集群配置信息,但自动安装比较耗时,也有可能因为环境差异, 导致安装失败。

    evaluate

    是否获取当前机器规格、近期存储情况、流量、Kafka集群配置信息,在迁移时根据获取的信息进行评估,推荐您购买规格更合适的云消息队列 Kafka 版实例。

    默认为true,即默认获取以进行规格评估,如果不需要评估,则需设置为false。

    文件存放目录下生成JSON文件,导出元数据成功。

  5. 在配置的文件存放目录下,您可以看到导出元数据文件,并将其下载保存至本地。

步骤四:创建元数据导入任务

  1. 登录云消息队列 Kafka 版控制台,在概览页面的资源分布区域,选择地域。

  2. 在左侧导航栏,单击迁移,然后单击元数据导入

  3. 元数据导入页签,单击创建任务

  4. 创建导入元数据任务面板,编辑以下参数,单击创建

    1. 创建任务页签,设置任务名称目标实例,上传步骤二:导出元数据中获取的元数据文件。

    2. 编辑 Topic页签,您可以执行以下操作:

      • 新增Topic:单击新增Topic,填写Topic名称描述分区数消息类型

      • 编辑Topic:单击右侧操作列的编辑,修改Topic描述分区数消息类型日志清理策略

      • 删除Topic:单击右侧操作列的删除,在提示对话框中单击确认

    3. 编辑 Group页签,您可以执行以下操作:

      • 新增Group:单击新增Group,填写Group ID描述

      • 编辑Group:单击右侧操作列的编辑,修改Group描述

      • 删除Group:单击右侧操作列的删除,在提示对话框中单击确认

    创建完成后,在迁移页面可查看目标任务的Topic 迁移进度Group 迁移进度单击右侧操作列的详情查看详细信息。

步骤五:查看迁移结果

  1. 登录云消息队列 Kafka 版控制台,在概览页面的资源分布区域,选择地域。

  2. 在左侧导航栏,单击实例列表

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

  4. 查看资源列表。

    • 在左侧导航栏,单击Topic 管理,在Topic 管理页面的Topic列表中查看已创建的Topic。

    • 在左侧导航栏,单击Group 管理,在Group 管理页面的Group列表中查看已创建的Group。

后续操作

  1. 云消息队列 Kafka 版实例开启新的Group,准备消费实例的消息。

  2. 云消息队列 Kafka 版实例开启新的Producer,下线旧的Producer,并使旧的Group继续消费自建Kafka集群的消息。

  3. 待自建Kafka集群的消息全部被旧的Group消费后,下线旧的Group和自建Kafka集群。