自建Kafka迁移至消息服务 for Kafka
更新时间:2024-08-14
本文主要介绍自建 Kafka 和消息服务 for Kafka 之间的数据迁移。
前提条件
- 自建 Kafka 数据库版本为 0.10 及以上。
- 自建 Kafka 已配置好访问控制参数(无访问控制、SASL/PLAIN、SASL/SCRAM-SHA-256、SASL/SCRAM-SHA-512)。
- 若您的 Kafka 部署在本地,您需要将 DTS 服务器的 IP 地址添加到 Kafka 远程连接的白名单中,以允许其访问您的实例。更多信息,请参见 添加 DTS 服务 IP 白名单。
- 已创建目标端消息服务 for Kafka 实例。创建方式,请参见 创建 Kafka 集群实例。
注意事项
- 仅支持目标端为 Kafka,暂不支持目标端为其他数据类型。
- 仅支持增量同步,支持配置同步开始时间(Topic 中最早 Message、启动任务后新产生的 Message、自定义起始时间)。
- 支持针对同一源端 Kafka 配置多个消费者消费数据。
操作步骤
- 登录 DTS 控制台。
-
点击 创建数据传输任务 进入 DTS 创建任务页面,详情参见 购买流程。
注意:
当源端数据类型为 Kafka 时,需设置并发消费者数量,每一个消费者对应一个子任务。并发消费者数量与最终费用相关。
- 创建任务成功后自动返回任务列表页面,选择新创建的任务,点击 更多操作—>配置任务。
-
在配置任务页面,配置源库及目标库信息,本文以 公网 接入方式为例介绍配置流程。
配置流程 类别 配置 说明 任务基本属性 任务名称 DTS 会自动生成一个任务名称,建议配置具有业务意义的名称(无唯一性要求),便于后续识别。 源端连接设置 版本 Kafka 0.9 版本不支持消费者组,因此固定选择 0.10 及以上。 Broker 列表 支持格式 IP:端口,IP 与端口以英文冒号分割,多个地址以英文逗号分隔,如:182.168.1.1:9092,182.168.1.2:9093。 topic 填入 Topic。 访问控制 支持无访问控制或 SASL/PLAIN TEXT。 SASL/PLAIN TEXT 鉴权机制 若访问控制选择 SASL/PLAIN TEXT,需要选择 Kafka 实例配置的鉴权机制。目前支持:SASL/PLAIN、SASL/SCRAM-SHA-256、SASL/SCRAM-SHA-512。 账号 若访问控制选择 SASL/PLAIN TEXT,需要填入 Kafka 实例配置的访问账号。 密码 若访问控制选择 SASL/PLAIN TEXT,需要填入 Kafka 实例配置的访问密码。 目标端连接设置 集群名称/ID 当接入类型为百度消息服务-专享版时,选择 Kafka 集群。 topic 选择百度消息服务主题。 - 配置完成后,点击页面下方的 授权白名单进入下一步。
-
配置任务对象映射。
配置 说明 迁移类型 源端为 Kafka 时,迁移类型仅支持选择增量同步。 分区同步策略 仅支持按原始Key分配。 自定义同步位点 - timestamp:选择起始时间点。
- offset
- 迁移 Topic 中最早 Message:从 Kafka Topic 中最早的一条消息开始迁移。
- 迁移 Topic 中最晚 Message:忽略 Kafka Topic 中已存在的数据,仅迁移任务开始之后新产生的消息。
限制传输速度 根据实际情况,选择是否对全量迁移和增量同步任务进行更细粒度的限流策略设置(设置 每秒迁移的行数 和 每秒迁移的数据量),以缓解目标库压力。详情参见:迁移限速。 Buffer 本地内存缓冲消息个数,默认为1000 传输对象 Kafka 实例仅支持传输对象为整个实例。 -
上述配置完成后,点击页面下方的 保存并预检查。
说明
- 在迁移任务正式启动之前,会先进行预检查。只有预检查通过后,才能成功启动迁移任务。
- 如果预检查失败,请查看失败检查项的提示,并根据提示修复后重新进行预检查。
-
如果预检查产生警告:
- 对于不可以忽略的检查项,请查看失败检查项的提示,并根据提示修复后重新进行预检查。
- 对于可以忽略无需修复的检查项,您可以点击 强制通过,在弹出的窗口中勾选风险确认信息并点击 确定,跳过告警检查项重新进行预检查。如果选择屏蔽告警检查项,可能会导致数据不一致等问题,给业务带来风险。
- 前置校验提示校验成功后,点击 立即开启任务。
- 迁移任务正式开始,您可以在任务列表页面查看具体进度。