当前位置: 首页 > ds >正文

Flink CDC 实战:实时监听 MySQL Binlog 并同步到 Kafka

监控 MySQL Binlog 使用 Flink 将数据实时写入 Kafka

一、前言

在实时数据处理场景中,很多企业需要将 MySQL 数据库中的变化(新增、修改、删除)实时同步到下游系统,例如 Kafka、Elasticsearch、HBase 等,以实现数据分析、监控预警或搜索查询。

本文将介绍如何通过 Flink CDC(Change Data Capture)监控 MySQL Binlog,并将变更数据实时写入 Kafka,实现准实时数据同步。


二、整体架构

实现流程如下:
MySQL(Binlog) --> Flink CDC --> Kafka(Topic) --> 下游消费者

  • MySQL
    需要开启 binlog,并设置为 ROW 格式。
  • Flink CDC
    使用 ververica/flink-cdc-connectors 直接解析 MySQL Binlog。
  • Kafka
    用作消息中间件,方便数据被下游系统订阅消费。

三、环境准备

1. MySQL 配置

修改 my.cnf(Linux 可能是 /etc/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf):

[mysqld]
server-id=1
log-bin=mysql-bin
binlog-format=ROW
binlog-row-image=FULL

执行以下命令,给 Flink 连接用户授权:

CREATE USER 'flink'@'%' IDENTIFIED BY 'flink123';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'flink'@'%';
FLUSH PRIVILEGES;

2. Kafka 启动

如果本地是单机测试,可以直接用

bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties

创建 Topic:

bin/kafka-topics.sh --create --topic mysql_binlog_topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1

3. Maven 依赖

在 Flink 项目中引入必要依赖(以 Flink 1.15 为例):

<dependencies><!-- Flink 核心依赖 --><dependency><groupId>org.apache.flink</groupId
http://www.xdnf.cn/news/17937.html

相关文章:

  • 《贵州棒球百科》体育赛事排名·棒球1号位
  • 面试题:如何用Flink实时计算QPS
  • 【120页PPT】人工智能与数字化转型的业财融合(附下载方式)
  • 计算机视觉第一课opencv(二)保姆级教
  • 解决SQL Server连接失败:Connection refused: connect
  • H.264、H.265 到 H.266:编码标准演进、RTSP支持与实时视频系统实战
  • 嵌入式学习(day26)frambuffer帧缓冲
  • Vue内置组件全解析:从入门到面试通关
  • 三种DuckDB电子表格插件的union all查询性能对比
  • 基于C语言基础对C++的进一步学习_C和C++编程范式、C与C++对比的一些补充知识、C++中的命名空间、文件分层
  • 流处理 or 批处理?大数据架构还需要流批一体吗?
  • 看懂 Linux 硬件信息查看与故障排查
  • LRU缓存
  • ABP vNext 的工业时间序列治理:InfluxDB vs TimescaleDB 落地对比
  • C++ list模拟实现
  • 推荐系统论文分享之多任务模型--PLE(二)
  • 内存可见性和伪共享问题
  • 【COMSOL】Comsol学习案例时的心得记录分享
  • nginx高性能web服务器实验
  • FPGA+护理:跨学科发展的探索(四)
  • 集成电路学习:什么是Image Processing图像处理
  • AI + 数字孪生:解锁物业 “立体透明” 新范式
  • 学习日志33 python
  • 第二十二天:指针与内存
  • 安全点(Safepoint)完成后唤醒暂停线程的过程
  • Ant Design 的 `Image` 组件,通过 `preview.src` 加载本地图片文件
  • 【3D渲染技术系列】AI 大模型贴图研究总结报告
  • 来伊份×养馋记:社区零售4.0模式加速渗透上海市场
  • Video_AVI_Packet(2)
  • EN 62368消费电子、信息技术设备和办公设备安全要求标准