前提条件
背景信息
Kafka集群元数据是指Kafka集群的Topic和Group配置信息。Kafka集群元数据存储于ZooKeeper上,Kafka集群各个节点从ZooKeeper中获取最新的元数据。因此,集群的各个节点的元数据被导出时都是最新且相同的。Kafka集群元数据可以被导出成一份JSON文件,然后被导入到另一个Kafka集群,实现自建Kafka集群元数据迁移上云。
元数据迁移是指将自建Kafka集群的元数据迁移到分布式消息服务Kafka实例。您可以将自建Kafka集群元数据导出,然后导入云分布式消息服务Kafka实例,分布式消息服务Kafka会解析成功导入的元数据,并支持在创建任务时可视化配置Topic和Group,配置完成后在目标实例中创建对应的Topic和Group,实现自建Kafka集群元数据迁移上云。
步骤一:导出元数据
使用元数据导出工具导出自建Kafka集群的元数据文件。
1.下载元数据导出工具,登陆分布式消息服务Kafka控制台->集群迁移->元数据迁移->创建任务->下载工具 下载对应jar包
2.将下载好的工具上传至自建Kafka集群
3.运行以下命令,导出元数据。运行命令后,您将在kafka-migration.jar 同级目录下看到 名为 metadata.json 的元数据文件。
java -cp kafka-migration.jar com.ctg.migration.kafka.MigrationMetadata --sourceKafkaConnect <yourhost:port> (--resource topic,group --username <your username> --password <your password> --mechanism <SCRAM-SHA-512>)
参数 | 说明 | 示例 |
---|---|---|
sourceKafkaConnect | 自建Kafka集群的IP地址和端口号。 | 192.168.XX.XX:9092 |
resource | 要导出的资源,可以是topic、 group或topic,group 默认topic,group | topic,group |
username | 连接kafka用户名,如果sourceKafkaConnect为免密接入点则无需填写 | admin user |
password | 连接kafka密码,如果sourceKafkaConnect为免密接入点则无需填写 | real password |
mechanism | 对应的协议,支持PLAIN、SCRAM-SHA-256、SCRAM-SHA-512,如果sourceKafkaConnect为免密接入点则无需填写 | PLAIN |
步骤二:创建元数据导入任务
1.登录管理控制台。
2.在管理控制台左上角单击,选择区域(请选择Kafka实例所在的区域)。
3.在管理控制台左上角单击,选择“企业中间件 -> 分布式消息服务Kafka版”,进入分布式消息服务Kafka控制台页面。
4.单击集群迁移->元数据迁移->单击创建任务,进入实例详情页面。
5.输入任务名称,选择目标实例,单击上传元数据文件。
6.点击下一步,到Topic编辑页面,这里可以手动增加、删除、修改topic
7.点击下一步,到group编辑页面,这里可以手动增加、删除、修改group
8.点击创建,这样就生成了一条元数据迁移任务
步骤三:查看迁移结果
1.在左侧导航栏,单击实例列表。
2.在实例列表页面,单击目标实例名称。
3.查看资源列表。
4.在左侧导航栏,单击Topic 管理,在Topic 管理页面的Topic列表中查看已创建的Topic。
5.在左侧导航栏,单击消费组管理,在消费组管理页面的Group列表中查看已创建的Group。