Kafka 迁移同步到 Kafka
NineData 数据复制支持 Kafka 之间的增量数据复制。
功能介绍
NineData 数据复制支持数据源之间的结构、全量数据、增量数据的高性能复制,对于部分数据源,还提供双向复制功能,实现快捷构建异地多活业务架构。
- 结构:支持同构及异构数据源之间的对象结构复制,很大程度上降低了两个数据源之间的数据复制门槛。
- 全量数据:通过智能数据分片实现行级并发批量复制能力,有效保障复制性能。自主研发的新型断点续传技术,保证无主键表的数据准确性。
- 增量数据:支持全对象类型的 DML|DDL 增量数据复制,结合行级并发、热点合并等技术,提供强劲复制性能。
- 双向数据实时复制:直接多个节点之间的数据双向复制,保证所有节点的数据均保持最新状态。
通过以上功能,可以轻松高效地实现全量|增量数据复制、全量|增量数据迁移、全量|增量数据同步、数据集成、不停机无缝迁移等场景,为企业提供灵活和可靠的数据复制解决方案。
前提条件
- 已将源和目标数据源添加至 NineData。如何添加,请参见创建数据源。
- 源和目标数据源为 Kafka,版本为 2.0.X、1.0.X、0.10.X。
- 基于 Kafka JSON 对象中各字段的名称,已在目标端的 MySQL 上创建相对应的库、表、列。
- 如果源和目标数据源在录入到 NineData 时选择了不同地域,还需要将各自所属 NineData 服务器的 IP 地址加入到对方的数据源白名单中。您可以在创建复制任务时,于数据源与目标节点页面查看两者的 IP 地址。
操作步骤
登录 NineData 控制台。
在左侧导航栏单击数据复制。
在数据复制页面中单击创建复制。
在数据源与目标页签,按照下表进行配置,并单击下一步。
参数 说明 任务名称 输入数据同步任务的名称,为了方便后续查找和管理,请尽量使用有意义的名称。最多支持 64 个字符。 源数据源 同步对象所在的数据源,此处选择需复制数据所在的 Kafka 数据源。 目标数据源 接收同步对象的数据源,此处选择目标 Kafka 数据源。 复制开始时间 - Earliest (复制 Topic 中最早的 Message):从 Kafka Topic 中寻找最早的一条消息,并按顺序复制到 MySQL。
- Latest (启动任务后,复制 Topic 中新产生的 Message):忽略 Kafka Topic 中已存在的数据,仅复制任务开始之后新产生的消息。
- 自定义 Offset (从定义 Offset 开始复制):自定义 Kafka Topic 中的消息位置,即 Offset 编号。系统将从该 Offset 编号开始按顺序复制消息。
目标表存量数据处理策略 - 预检查报错并停止任务:预检查阶段检测到目标表中存在数据时,停止任务。
- 忽略目标存量数据,追加写入:预检查阶段检测到目标表中存在数据时,忽略该部分数据,追加写入其他数据。
- 清空目标存量数据,重新写入:预检查阶段检测到目标表中存在数据时,删除该部分数据,重新写入。
在选择复制对象页签,配置下列参数,然后单击下一步。
参数 说明 待复制对象 选择需要复制的对象,您可以选择全部实例包含 Kafka 的所有 Topic,也可以选择自定义对象,在源对象列表中选中需要复制的 Topic,然后单击>添加到右侧目标对象列表。 在配置映射页签,可以单独配置源和目标 Kafka Topic 名称的映射关系。
在预检查页签,等待系统完成预检查,预检查通过后,单击启动任务。
提示如果预检查未通过,需要单击目标检查项右侧操作列的详情,排查失败的原因,手动修复后单击重新检查重新执行预检查,直到通过。
检查结果为警告的检查项,可视具体情况修复或忽略。
在启动任务页面,提示启动成功,同步任务开始运行。此时您可以进行如下操作:
- 单击查看详情可以查看同步任务各个阶段的执行情况。
- 单击返回列表可以返回数据复制任务列表页面。
查看同步结果
登录 NineData 控制台。
在左侧导航栏单击数据复制。
在数据复制页面单击目标同步任务的 ID,打开复制详情页面,页面说明如下。

序号 功能 说明 1 同步延迟 源数据源和目标数据源之间的数据同步延迟,0 秒表示两端之间没有延迟。 2 配置告警 配置告警后,系统会在任务失败时通过您选择的方式通知您。更多信息,请参见运维监控简介。 3 更多操作 - 暂停:暂停任务,仅状态为运行中的任务可选。
- 终止:结束未完成或监听中(即增量同步中)的任务,终止任务后无法重启任务,请谨慎操作。
- 删除:删除任务,任务删除后无法恢复,请谨慎操作。
4 增量复制 展示增量复制的各项监控指标。 - 单击页面右侧的日志:查看增量复制的执行日志。
- 单击页面右侧的
图标:查看最新的信息。
5 修改对象 展示同步对象的修改记录。 - 单击页面右侧的修改同步对象,可对同步对象进行配置。
- 单击页面右侧的
图标:查看最新的信息。
6 更多 展示当前复制任务的详细信息,包括正在同步中的 Kafka Topic、复制对象、开始时间等。
附录:预检查项一览表
| 检查项 | 检查内容 |
|---|---|
| 源数据源连接检查 | 检查源数据源网关状态、实例是否可达、用户名及密码准确性 |
| 目标数据源连接检查 | 检查目标数据源网关状态、实例是否可达、用户名及密码准确性 |
| 目标库数据存在性检查 | 检查待复制对象在目标数据库中是否已存在数据 |
| 目标库权限检查 | 检查 Kafka 账号是否对 Topic 有访问权限 |
| 目标库数据存在性检查 | 检查 Topic 中是否已存在数据 |