一、什么是Flink CDC
1.1 什么是 Flink-CDC
Flink-CDC 是 Flink 上的 CDC 项目,该项目为各数据库产品提供 CDC 能力。将该项目的相关 jar 包放置在 {Flink安装目录}/lib/ 下,就完成了 CDC 的部署。此时可通过 flink-sql 创建 flink-job 进行数据库 CDC 。
1.2 什么是 CDC
Change Data Capture , 使用CDC我们可以从数据库中获取已提交的【数据变更】并将这些【数据变更】发送到下游【目标数据库】或其他数据产品。
二、部署过程
- 安装 Flink
- 在 {Flink安装目录}/lib/ 下安装 cdc jar 包。
# cdc jar 包
- flink-sql-connector-mongodb-cdc-2.1.1.jar
- flink-sql-connector-mysql-cdc-2.1.1.jar
- flink-sql-connector-oracle-cdc-2.1.1.jar
- flink-sql-connector-postgres-cdc-2.1.1.jar
# jdbc 驱动包
- mysql-connector-java-5.1.29.jar
- ojdbc6.jar
- 部署完成
下载地址
-
Flink 下载地址 :
https://flink.apache.org/zh/downloads.html
https://dlcdn.apache.org/flink/ -
cdc jar包下载地址:
https://github.com/ververica/flink-cdc-connectors/releases
三、CDC 周边准备工作
- 开启数据源 MySql 的 binlog 支持。
- 准备目标数据库。
四、flink-cdc 的使用方式
flink cdc 提供了两种方式,完成数据库 cdc 。 分别为:
- flink-sql (推荐)
- datastream
两种方式都可以在 flink 中创建 【flink-job】进行数据库 cdc 。 相对后者前者操作方式简单便捷、语义明确,但定制能力上偏弱。
五 使用 flink-sql 方式,进行 flink-cdc
flink 安装目录下有一个脚本命令 ./bin/sql-client.sh ,通过该命令可以进行 flink-sql 控制台,提交 flink-sql
创建 flink-job
进行 flink-cdc
完成数据库 cdc
。
官网 demo 地址 :https://ververica.github.io/flink-cdc-connectors/release-2.1/