自建Kafka集群迁移上云

更新时间: 2024-12-10 16:55:56

在使用自建Kafka集群时,当您希望业务的成本更低、弹性更强、可靠性更高时,您可以将自建Kafka集群迁移上至云消息队列 Kafka 版云消息队列 Kafka 版提供全托管、免运维的服务可以让您只需专注于业务开发,无需部署运维。

注意事项

  • 迁移不会删除自建的源Kafka集群的Topic和Group,只是在目标云消息队列 Kafka 版实例中创建相同配置的Topic和Group。

  • 迁移内容仅为Topic和Group配置,不包含Topic中存储的消息以及Group的订阅关系和消费位点信息。

  • 迁移实例时,您可以使用控制台上的迁移上云功能进行迁移,也可借助工具实施迁移。一般情况下,推荐您使用迁移上云功能进行迁移,当自建Kafka集群无公网访问点时,可借助工具迁移。

方案说明

对于消息队列来说,如果要实现集群迁移,只需消费完旧集群的消息即可。由于Producer和Consumer都是集群化的,您可以通过一台一台机器操作的方式实现上层业务无感知。

迁移自建Kafka集群至云消息队列 Kafka 版实例方案如下图所示。

迁移前后

云消息队列 Kafka 版提供以下两种方案可供选择:

方案一:迁移上云

  1. 获取源实例的公网访问连接点。

  2. 在控制台上创建迁移上云任务。

  3. 为实例开启新的Group,准备消费实例的消息。

  4. 为实例开启新的Producer,下线旧的Producer,并使旧的Group继续消费自建Kafka集群的消息。

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

方案二:借助工具迁移

  1. 使用迁移工具迁移自建Kafka集群至实例。

  2. 为实例开启新的Group,准备消费实例的消息。

  3. 为实例开启新的Producer,下线旧的Producer,并使旧的Group继续消费自建Kafka集群的消息。

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

迁移上云

云消息队列 Kafka 版提供全托管、免运维的实例迁移服务,用于自建实例与云消息队列 Kafka 版实例之间或者云消息队列 Kafka 版实例之间的数据同步,无需借助工具即可在控制台上实现实例迁移,迁移完成后目标集群的元数据与源集群的元数据保持一致并且持续更新。具体步骤,请参见迁移上云

借助工具迁移

迁移工具

迁移工具

说明

参考文档

kafka-migration-assessment.jar

  • 您可以使用该工具将自建Kafka集群元数据通过控制台任务导出为JSON格式文件,然后上传该文件至云消息队列 Kafka 版迁移任务并运行任务,实现元数据迁移。

    说明

    该方式暂不支持Serverless实例。

  • 您可以使用该迁移工具将自建Kafka集群的Topic和Group迁移到云消息队列 Kafka 版实例。

MirrorMaker

您可以使用该工具将源自建Kafka集群中的数据镜像拷贝到目标云消息队列 Kafka 版集群。

迁移数据上云

迁移操作流程

迁移流程

流程说明如下:

  1. 可选:评估规格:如果您已了解待迁移自建Kafka集群的信息,如集群流量情况、磁盘容量和类型、分区数量等信息,您可以直接评估需要购买的云消息队列 Kafka 版实例规格。

    如果您不清楚自建Kafka集群的相关信息,您无需执行该操作,在迁移自建Kafka集群元数据至新实例时,使用迁移工具进行自动评估。

  2. 实施迁移:您可以通过执行命令实现单资源迁移,也可以通过迁移任务实现迁移。

    • 通过元数据文件迁移上云:在云消息队列 Kafka 版控制台,创建迁移任务,根据推荐意见购买云消息队列 Kafka 版实例并部署启动任务。

      说明

      如果元数据文件中包含了自建Kafka集群的流量、磁盘、配置等信息,购买实例时,云消息队列 Kafka 版会根据元数据文件信息,自动评估并推荐实例规格,您可以根据推荐意见购买实例。

    • 迁移自建Kafka集群元数据至已有实例:在云消息队列 Kafka 版控制台,通过创建迁移任务,将自建Kafka集群元数据迁移至云消息队列 Kafka 版已有实例。

    • 单资源迁移:如果您只需要迁移Topic、Group或消息数据,您可以选择对应资源迁移方法迁移。

      1. 迁移Topic上云:迁移自建Kafka集群的Topic到云消息队列 Kafka 版实例。

      2. 迁移Group上云:迁移自建Kafka集群的Group云消息队列 Kafka 版实例。

      3. (可选)迁移数据上云:迁移自建Kafka集群的数据到云消息队列 Kafka 版实例。

        重要

        消息队列的特点是,数据一旦被消费,则已经完成使命。因此,除了需要将自建Kafka集群的数据备份云消息队列 Kafka 版实例的情况外,一般情况下不推荐您迁移数据。

  3. 查看迁移进度:查看自建Kafka集群迁移到云消息队列 Kafka 版的进度。

  4. 验证迁移结果:查看迁移成功后的资源列表。

相关文档

将自建Kafka集群迁移到云消息队列 Kafka 版实例的优势,请参见产品优势

上一篇: 订阅者最佳实践 下一篇: 评估规格
阿里云首页 云消息队列 Kafka 版 相关技术圈