1. 概述
本文档收集数据管道模块的常见问题,并给出答案。
2. 数据管道模块咨询
常见问题 | 解决方案 |
---|---|
1)帆软能否接收实时数据或者有什么方式接收 2)如果我要实现源端到目标端的数据实时同步,用数据管道不用数据开发? 3)如何将几十张表同步到另外一个数据库 4)我在数据库修改了记录会有修改日志的,数据同步没有办法根据这个日志来更新的是吧 5)数据同步,数据量比较大,需要增加、删除、修改,用什么方式比较快 | 使用数据管道功能 |
数据管道一般使用场景有哪些 | 数据管道的场景主要是在数据库数据量大或表结构规范的情况下,实现高性能的「实时数据同步」。简单来说是通过对源库日志的监听来达到实时的数据同步,如果数据同步实时性要求比较高的话可以考虑数据管道 注:数据管道不支持对数据进行计算处理 |
数据管道是怎么捕获变化数据的 | 通过数据库日志变更捕捉的 |
如果管道任务中断了,有什么补偿机制 | 详情请参见:配置管道任务-管道控制 若管道任务失败,支持断点续传:若全量同步未完成,会从头全量同步;若全量同步已完成,会从断点开始 断点续传示例: 管道任务在03-21日读取了数据,03-23日停掉,03-27日启动,03-23到03-27日的数据会同步过去 |
同时运行的管道任务数 | 4.1.4.之前版本: 同时运行的管道任务数与 资源控制 中的「内存限制」值有关。「内存限制」值/1024向下取整,比如 2049/1024 就是可以运行两个管道任务 4.1.4 及之后版本: 在 并发控制 中修改 |
支持异构数据库写入吗,像 MySQL 实时同步 Oracle | 支持的 具体可参见:数据管道支持的数据源类型 |
FDL 使用数据管道能同步视图吗 | 管道任务不支持同步视图和索引 |
实时同步中,源表结构发生变化后,能同步到目标表吗;比如增加字段之后,目标表还需要手动创建吗 | 部分数据库类型是支持源表结构变化同步的,详情请参见:数据管道-同步源表结构变化 |
Kafka 有什么作用 | 作为数据管道的中间间,因为管道任务是实时的所以需要一个传输队列组件作为数据承载的中间站,达到可以识别断点的效果 |
管道任务服务器中必须有 Kafka 对吗 | 是的 |
数据管道库表实时同步,多长时间读取一次日志 | 管道任务实时监控数据库的日志变化,日志有变动,同步数据, |
管道任务支持资源导入吗 |
3. 数据管道
3.1 支持的数据源
常见问题 | 解决方案 |
---|---|
1)数据管道中为啥不能选择简道云 2)数据管道支持哪些数据源 3)能通过数据管道任务,实时读取 SAP 的数据吗 4)数据管道,能支持把数据插入到 clickhouse 嘛 5)实时同步支持的数据源 | 数据管道支持的数据源请参见:数据管道支持的数据源 |
3.2 数据库环境准备
常见问题 | 解决方案 |
---|---|
FDL 管道实时同步 MySQL 库,mysql binlog 的模式要求是什么,mysql有三种级别 Row、Statement、Mixed | row 请参见文档:MySQL环境准备 |
Kafka 只支持部署在 Linux 环境吗 | 是的 |
数据管道,源数据库oracle,必须开启归档日志吗 | 是的 |
1)我想请问管道任务-Kafka,这个中间件是需要我们自己额外配置吗 2)传输队列需要配置 Kafka ,是需要新建一套 Kafka 吗 3)Kafka 安装要求 4)Kafka 需不需要开放什么端口呢 5)传输队列未配置 | 是的,需要自己部署 Kafka 请参见文档:部署Kafka |
1)我本地安装 FDL ,如果想用数据管道,是不是需要部署 Kafka 2)Windows 部署的 Kafka 可以支撑数据管道吗 | 建议 Kafka 部署在 Linux 上,Kafka 官方是不推荐部署在 Windows 下的 |
1)Kafka 安装好了端口不通 2)地址和认证类型怎么配置的 | 请参见文档:配置传输队列 |
将一个 SQLServer 的数据实时同步到另一个 SQLServer中,源端的数据库要改什么配置或者开启什么功能吗 | SQL Server环境准备 |
Kafka 逻辑说明 | 全量同步时,数据是不会同步到 Kafka 中的,全量结束之后,从记录点开始读取增量数据写入 Kafka |
报错传输队列未配置 | Kafka未部署配置,请参见文档:部署Kafka:ZooKeeper模式、部署Kafka:KRaft模式 |
Kafka和fdl可以部署在同一台服务器上吧 | 可以的 |
Kafka 断连一段时间后,管道任务需要重启吗 | 若管道任务配置了失败重试,将自动重新启动;否则,需要手动重启启动管道任务 |
3.3 管道任务配置
常见问题 | 解决方案 |
---|---|
比如我这有三条数据,数据管道同步到目标表,可以根据 ID 同步吗 | 主键设置ID就可以了 |
管道任务已经创建没有勾选开启 ddl ,可以再修改吗 | 不支持,只能重建任务 |
数据管道目标表比来源表多的字段字段映射没有显示 | 字段映射只显示来源表有的字段 |
1)有没有数据管道和数据开发里面的任务异常错误发邮件的设置 2)管道任务失败如何预警 | 设置结果通知 |
数据管道时间戳 | 配置管道任务-选择数据去向 步骤中,若开启「同步时标记时间戳」按钮,目标表将新增一个名称为_fdl_update_timestamp的长整型字段,以毫秒级时间戳的形式记录数据在数据库中实际新增和更新的时间(数据库所在时间) |
脏数据阈值什么意思 | 设置脏数据阈值 |
管道任务失败重试逻辑说明 | 失败重试:
|
勾选「同步时标记时间戳」按钮,_fdl_update_timestamp字段是什么意思 | 数据在数据库中实际新增和更新的时间(数据库所在时间) |
管道任务中来源端为 SQLServer,不显示表 | 源端开启CDC,详情请参见:SQL Server环境准备 |
源端数据库表结构发生变化,能同步到目标表吗 比如增加字段之后,目标表还需要手动创建吗 | 部分数据库支持DDL同步:数据管道-同步源表结构变化 |
数据管道逻辑删除 | 若选择「目标端执行逻辑删除」:源表删除数据,目标表将新增一个名称为_fdl_marked_deleted的布尔型字段(字段默认为false),用于记录数据删除状态。来源数据表删除了一条数据,此时同步至目标表,目标表不进行物理删除,而是将_fdl_marked_deleted字段更新为 true |
管道任务怎么实现两张表的同名字段同步到一张表中 | 4.1.8.1 及之后版本,支持将多张结构相同的源表数据同步到一张目标表中,取所有源表字段的交集作为分组表的字段。详情请参见:同步对象 |
3.4 管道任务运维
常见问题 | 解决方案 |
---|---|
待同步量,这个是什么意思,在数据管道的运行中 | 待同步就是就是没有写入数据库,正准备写的数据,可能正常写入,可能写入失败 |
第一遍同步数据管道, 没有时间戳 | 时间戳同步在数据完全同步后执行。若数据量较大,数据同步过程中时间戳可能暂时为空 |
删除管道任务 | 启动/直接编辑/删除任务 |
怎么看数据管道任务的状态呢 | 单个管道任务管理 |
管道任务启动后为何不能编辑 | 已经启动的任务目前是不能再修改配置了,需要重新建立个管道任务,再删除之前的管道任务 |
管道任务脏数据指什么 | 详情请参见:脏数据 与目标字段配置不匹配而无法写入的数据(目标字段长度/类型不匹配、目标字段缺失、违反目标字段非空约束等) 注:对于管道任务,主键冲突不会产生脏数据,主键相同的数据,新数据将覆盖旧数据 |
服务器重启后管道任务怎么运行 | 全量同步若未结束,重启后会重新进行全量同步 全量同步已经结束,并且进入增量状态的任务,重启后会接着断点继续增量 |
已经运行的管道任务可以剔除一张源表吗 | 可以的,先暂停管道任务,然后编辑下把这张表移除就行 |
数据管道如果源表的服务器宕机了 管道任务会怎么样 | 会中止 |
管道任务为什么会清空目标表 | 管道逻辑如下: 1)新建管道任务、复制管道任务场景:目标表若选择已存在表,目标表结构(表名和字段名)和来源表一致:首次数据同步会清空目标数据表数据,然后全量同步数据,此后增量同步 2)处理脏数据 时(具体详情点击左侧链接):重新同步:会将目标端表清空并重新执行全量同步、在全量同步结束后转入增量同步 |
管道任务如果源库连接失败会直接停止吗 | 会直接停止的 经修复后,源库可以重新连接,再次启动管道任务是否就可以,取决于管道任务停了多久、源库的类型:
|
管道任务数据库日志自动清理,怎么配置 | 目前只能手动清理 |
对运行中的管道任务,不需要暂停即可编辑或删除吗 | 需要暂停的 |