1. 概述
1.1 版本说明
FineDataLink 版本 | 功能变动 |
---|---|
4.0.5 | - |
4.1.3 | 管道任务写入端主动检测 Kafka 连接是否异常,若异常,则日志提示并终止任务 |
4.1.13.2 | 认证方式新增「Kerberos 认证」 |
1.2 应用场景
在进行实时同步过程中,需要通过数据管道暂存来源数据库中的数据,便于目标数据库写入数据,实现实时数据同步。
因此在设置数据管道任务前需要首先配置好暂存数据的中间件。
1.3 功能说明
FineDataLink 支持使用 Kafka 作为数据同步的中间件,实现:
读写两端分离,以保证在持续增量同步过程中,读写两端不会互相阻塞;
系统的短暂宕机后,已读取的数据可以不必再重复读取;
不能正常写入目标库的脏数据能够暂时存储;
帮助你更好地实现实时数据同步。
1.4 使用限制
当前默认使用 Kafka 开源流处理平台。
只有 FDL 工程的超管才能配置传输队列。
2. 前提条件
2.1 放置驱动
注:4.0.6 以及之后的版本已经内置了驱动,不需要此步骤。
驱动包:kafka.zip
使用前需要将驱动包中驱动解压,并放置在 FineDataLink 工程%FineDataLink%\webapps\webroot\WEB-INF\lib 目录下。
2.2 增加配置
如果部署的Kafka和 FDL 在同一台服务器上,则直接参考本文第三节内容配置传输队列即可。
但是如果部署的Kafka和 FDL 不在一台服务器上,Kafka 就需要进行一些单独配置实现 Kafka 的跨服务器访问。
1)若只需要内网访问 Kafka ,或者需要外网访问但是机器有外网网卡,此时只需要打开 Kafka 安装目录下/config/kraft目录中的 server.properties 文件,把 Kafka 服务器的 IP 和端口配置到 listeners,输入以下代码:
注:一般只推荐配置内网端口。
listeners=PLAINTEXT://ip:9092
如果需要外网访问但是机器没有外网网卡,则需要打开 Kafka 安装目录下/config/kraft目录中的 server.properties 文件,把 Kafka 服务器的 IP 和端口配置到 listeners 和 advertised.listeners,如下图所示:
listeners=PLAINTEXT://ip:9092
advertised.listeners=PLAINTEXT://ip:9092
注:Kafka 默认端口号为9092,可根据实际情况修改;上述代码的 ip 改为 kafka 的服务器 ip 。
2)重启 Kafka ,即先关闭 Kafka 再启动,详情参见:运维命令
3. 操作步骤
1)进入 FineDataLink 界面,点击「数据管道」,选择「全局设置」按钮。如下图所示:
2)输入部署 Kafka 的地址(填写 IP 和端口),注:默认端口号为 9092,并设置数据暂存时间,点击测试连接,如下图所示:
注1:Kafka 数据暂存时间不可超过 90,超出后将采用“先进先出”的原则清理。
注2:支持 Kafka 单机或集群,填写 IP 地址或主机名以及端口号,多个地址以,隔开。
注3:「Kerberos 认证」相关说明请参见:配置Kafka数据源;若数据管道的来源端为 Kafka,若配置数据连接、传输队列都需要「Kerberos 认证」,则两边都配置「Kerberos 认证」即可。
提示连接成功,即可点击保存,配置成功。如下图所示:
4. 后续步骤
配置传输队列后,即可设置数据管道任务,详情参见:配置数据管道任务
5. 注意事项
5.1 修改 Kafka 配置
若你修改了 Kafka 配置,可能会导致之前设置的数据管道任务中暂存在 Kafka 中的已读取数据丢失,请谨慎修改,如下图所示:
5.2 Kafka 传输队列连接异常
当连接异常的情况下注:包括 Kafka 传输队列自身连接异常和用户手动调整了 Kafka 传输队列连接,导致异常。
管道任务写入端主动检测 Kafka 是否异常,若异常,则日志提示并终止任务。