Flink CDC3.1版本数据同步记录
创始人
2025-01-09 11:08:02
0次

官网文档

Flink、Flink-CDC相关官方最新文档,浏览自己所使用的版本官方文档还是很有必要的,百度搜索的不一定是你使用的版本,可能会造成困惑。

1.安装部署flink

下载:

flink安装包下载地址:Index of /dist/flink,按需下载对应的版本,本文使用了Flink1.18.1的版本

解压:
tar -zxvf flink-1.18.1-bin-scala_2.12.tgz
进入解压文件夹,修改基础配置:

 

修改conf/flink-conf.yaml文件:

#注:一定要配置进行checkpoint的开启,否则数据库后续的cdc可能不会生效 execution.checkpointing.interval: 3000 
#配置自己的ip,用于flink-web-ui的界面访问 rest.address: 10.xx.xx.xxx
rest.bind-address: 10.xx.xx.xxx
执行启动:
./bin/start-cluster.sh

访问ip:8081即可 

此为最简单的flink部署,具体依据生产项目需要选择集群部署,部署方式网上很多,不做赘述

2.安装部署flink-cdc

下载

Index of /flink,选择flink-cdc版本压缩包,本文使用flink-cdc3.1新版本,如果没有你想要的版本可以去github上进行下载:Releases · apache/flink-cdc · GitHub

解压
tar -zxvf flink-cdc-3.1.0-bin.tar.gz
准备工作 

需要下载flink-cdc需要的连接器胖包,放在解压flink-cdc后的lib下。此处按需source源和sink源进行下载,本人使用mysql to kafka,(也是去官方的github上下载Releases · apache/flink-cdc · GitHub,比较全)

本文需要下载mysql的source、kafka的pipeline

因MySQL Connector 采用的 GPLv2 协议与 Flink CDC 项目不兼容,官方有解释,故如果是mysql的话还需要下载驱动

mysql驱动地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.27

官方解释地址:MySQL | Apache Flink CDC

将下载的jar包放入flink-cdc的lib中,注意:flink解压包处也需要同步一份,且flink同步后,重启一下

#先关闭,最好多执行几次,直到控制台说无服务了

./bin/stop-cluster.sh

#再启动

./bin/start-cluster.sh

编写mysql-to-kafka.yaml
source:   type: mysql   name: MySQL Source   hostname: ip   port: 3306   username: root   password: pass   tables: 库名.表名   server-id: 184154 # 默认采用initial模式,此处防止启动初始化数据过多,配置了从最新记录读取,生产应该以endpoint #  scan.startup.mode: latest-offset       scan.snapshot.fetch.size: 2  sink:   type: kafka   name: Kafka Sink   properties.bootstrap.servers: PLAINTEXT://ip:9092 # kafka主题,如果不写,则默认以source.tables下命名 #  topic: test1   value.format: debezium-json  pipeline:   name: MySQL to Kafka Pipeline   parallelism: 1
执行 

./flink-cdc.sh /path/mysql-to-kafka.yaml

代表已经执行提交flink任务成功 

访问flink-web-ui可查看到刚刚提交的cdc同步任务

验证

修改监听的mysql表数据后,可在kafka的topic消息中查看到

此处选用了kafka的ui组件,能够方便直观看见消息,如下

3.Q&A

1.只有在启动的时候才会去全量同步数据,后续的数据变更捕获不到,怎么办?

首先,监听的数据得开启binlog,拿mysql举例,需注意排查事项如下,

1.检查是否开启binlog:SHOW VARIABLES LIKE 'log_bin'; 

(ON为开启)

2.确认binlog的记录格式:SHOW VARIABLES LIKE 'binlog_format'; 

(得是ROW)

3.查看binlog是否设置有白名单或黑名单:SHOW MASTER STATUS;

2. 待续补充...... 

相关内容

热门资讯

实测交流透视挂!宝玛大厅ai智... 实测交流透视挂!宝玛大厅ai智能透视挂教程,宝玛大厅破解软件经验(本来有挂辅助)1、每一步都需要思考...
总算了解辅助器!朱雀吴江三缺一... 总算了解辅助器!朱雀吴江三缺一ai智能透视辅助挂技巧,朱雀吴江三缺一好像是有挂(有辅助挂细节)朱雀吴...
今日公布透视!九五至尊大厅ai... 今日公布透视!九五至尊大厅ai智能透视插件,九五至尊大厅有没有透视挂窍门(切实有挂技术)1、在九五至...
玩家必看科普开挂!聚闲麻将ai... 玩家必看科普开挂!聚闲麻将ai智能透视辅助挂软件,聚闲麻将总是真的有挂(有辅助挂方式)聚闲麻将能透视...
据报道开挂!旅游娱乐ai智能开... 据报道开挂!旅游娱乐ai智能开挂工具,旅游娱乐辅助工具演示(一直有挂教学)1、全新机制【旅游娱乐ai...
一分钟揭秘开挂!决胜朋来麻将a... 一分钟揭秘开挂!决胜朋来麻将ai智能透视辅助挂教程,决胜朋来麻将真是真的是有挂(有辅助挂总结)1、首...
如何分辨真伪透视!红牛ai智能... 如何分辨真伪透视!红牛ai智能透视攻略,红牛是不是有挂经验(真是有挂技术)1、操作简单,无需红牛手机...
2分钟细说辅助器!江湖大庆麻将... 2分钟细说辅助器!江湖大庆麻将ai智能透视辅助挂攻略,江湖大庆麻将竟然是真的有挂(有辅助挂头条)1、...
总算清楚透视挂!老夫子厅ai智... 总算清楚透视挂!老夫子厅ai智能透视挂技巧,老夫子厅怎么开挂课程(好像发现有挂)老夫子厅破解侠是真的...
解密关于辅助!菜鸟麻将ai智能... 解密关于辅助!菜鸟麻将ai智能透视辅助挂脚本,菜鸟麻将总是存在有挂(有辅助挂存在)1、用户打开应用后...