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

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.dtcms.com/a/330928.html

相关文章:

  • 监控插件SkyWalking(二)集成方法
  • kafka 单机部署
  • 【Android】适配器与外部事件的交互
  • Mybatis学习笔记(三)
  • [激光原理与应用-267]:理论 - 几何光学 - 胶卷相机的组成和工作原理
  • PostgreSQL 免安装
  • tomcat 定时重启
  • 通过 GitHub520 项目自动获取最新 Hosts 配置,无需手动查询 IP。
  • 语义 HTML 的核心价值:提升 SEO 与 AI 理解
  • 肖臻《区块链技术与应用》第14-15讲 超越货币:以太坊如何用“智能合约”开启去中心化应用时代
  • 备战亚马逊“Prime Big Deal Days”:卖家如何解锁年末增长密钥?
  • 2025年大模型安全岗的面试汇总(题目+回答)
  • 回归算法:驱动酒店智能化定价与自动化运营的引擎—仙盟创梦IDE
  • 不同ide回到上一个文件快捷键
  • STM32--寄存器与标准库函数--通用定时器--输出比较(PWM生成)
  • 区块链在可信空间智能合约中的应用
  • 在IAR Embedded Workbench for Arm中实现NXP S32K3安全调试
  • python sqlite3模块
  • iOS App TF上架全流程实战 高效内测分发与IPA包管理
  • 【KALI】第一篇 安装Kali Linux虚拟机之详细操作步骤讲解
  • Elasticsearch RBAC 配置:打造多租户环境的安全访问控制
  • 一篇文章读懂.Net的依赖注入
  • 应用银行卡识别技术,构建更安全、便捷的数字身份认证与支付生态
  • LeetCode hot 100 day1
  • springboot+vue实现通过poi完成excel
  • 云计算-多服务集群部署实战指南:从JumpServer到Kafka、ZooKeeper 集群部署实操流程
  • MySQL流程处理函数
  • 计算机视觉Open-CV
  • Swift 实战:用链表和哈希表写出高性能的贪吃蛇引擎(LeetCode 353)
  • 力扣-1143.最长公共子序列