恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
从零到跑通:Flink CDC 安装教程与 MySQL 到 Doris 实时同步完整指南
首页
资讯中心
/
从零到跑通:Flink CDC 安装教程与 MySQL 到 Doris 实时同步完整指南
从零到跑通:Flink CDC 安装教程与 MySQL 到 Doris 实时同步完整指南
发布时间:2026/9/24 13:58:33
从零到跑通Flink CDC 安装教程与 MySQL 到 Doris 实时同步完整指南【免费下载链接】flink-cdcFlink CDC is a streaming data integration tool项目地址: https://gitcode.com/GitHub_Trending/flin/flink-cdc想把手里业务库的 MySQL 数据实时搬进数据仓库传统做法是写 ETL 脚本加定时任务实时二字基本指望不上。Flink CDC 是构建在 Apache Flink 之上的流式数据集成工具用一个 YAML 文件就能让 MySQL 的每一次变更持续流向 Doris全程不用写代码。看懂 Flink CDC 能干什么它本质上是把 CDC 数据同步这件事产品化从数据库捕获变更事件转换成数据流再写入目标系统。几个值得注意的能力点用声明式 YAML 定义源、目标、路由和转换自动编译成 Flink 作业提交支持整库同步、分库分表合并同步、表结构变更自动跟随schema evolution上图是 Flink CDC 的分层结构最上层是 YAML API往下依次是连接器层、作业组装层和运行时层底层跑在 Flink Runtime 上。核对环境版本要求动手前先对着检查清单过一遍JDK 11 或更高Flink CDC 3.6.0 起基于 JDK 11 构建执行java -version确认Apache Flink 1.20.x 或 2.2.x且集群已能启动Flink CDC 3.x 支持这两个大版本一台可达的 MySQL含待同步的库表和一套 Doris 集群具体版本兼容矩阵以官方文档为准。阶段一解包 Flink CDC 发行包从官网下载flink-cdc-x.x-bin.tar.gz并解压如果拿不到官方包也可以从 https://gitcode.com/GitHub_Trending/flin/flink-cdc 克隆仓库后用 Maven 自行构建构建方式以官方文档为准。完成标志你看到bin、lib、log、conf四个目录bin里就有后面要用的flink-cdc.sh。阶段二把连接器 JAR 放进正确的 lib这一步最容易踩坑目录不能放错JAR 包放到哪里flink-cdc-pipeline-connector-mysqlFlink CDC 的libflink-cdc-pipeline-connector-dorisFlink CDC 的libmysql-connector-javaFlink 的lib或用--jar参数传入注意前两个是放Flink CDC 的 lib不是 Flink 的 lib放错后作业起不来且报错指向找不到类排查起来很浪费时间。完成标志flink-cdc/lib下能看到两个 pipeline-connector 的 jarFlink 的lib下有 mysql-connector-java。阶段三写一份 Flink CDC YAML 配置创建mysql-to-doris.yaml内容如下source: type: mysql hostname: localhost port: 3306 username: root password: 123456 tables: app_db.\.* server-id: 5400-5404 server-time-zone: UTC sink: type: doris fenodes: 127.0.0.1:8030 username: root password: table.create.properties.light_schema_change: true table.create.properties.replication_num: 1 pipeline: name: Sync MySQL Database to Doris parallelism: 2关键字段只记这几个就够source.tables用正则匹配整库app_db.\.*表示 app_db 下所有表server-idbinlog 拉取的服务器 ID 区间要和集群里其他 CDC 任务错开server-time-zone必须与 MySQL 实际时区一致否则作业直接报错sink.fenodesDoris FE 的 HTTP 地址replication_num: 1示例环境只有一个 Doris BE 节点才这么写生产环境按实际副本数调整完成标志YAML 校验无误能看清源 → 目标两条线各对应哪个系统。阶段四提交同步作业在 Flink CDC 目录下执行bash bin/flink-cdc.sh mysql-to-doris.yaml提交成功会返回类似Pipeline has been submitted to cluster.加一行 Job ID 的信息。此时你应该看到Flink Web UI 中有一个名为Sync MySQL Database to Doris的作业处于 RUNNING 状态。阶段五确认数据真的落地Doris 连接器不支持自动建库需要先在 Doris 里执行create database app_db;。此时你应该看到Doris Web UI 的app_db下出现orders等表且已有初始数据。接着做增量验证在 MySQL 里对orders表做插入、更新、删除甚至ALTER TABLE加一列刷新 Doris 即可看到变更实时跟上来。若想让表结构变更自动跟随可在pipeline块中配置schema.change.behavior: evolve具体取值以官方文档为准。排查常见同步失败现象对策作业起不来提示找不到类检查 connector jar 是否放错了 libCDC 的 lib 还是 Flink 的 lib连接阶段报时区相关错误把server-time-zone改成 MySQL 实际时区Doris 侧没有建表手动预创建目标 database各参数含义拿不准查 Doris 连接器文档各字段的完整参数表可进一步参考 MySQL 到 Doris 快速上手文档。跑通整条链路只是起点。下一步建议在 YAML 里加一个transform块对orders表加一条过滤条件再同步亲眼看到数据在途中被加工——transform 和 route 的写法可查docs/content/docs/core-concept/transform.md。【免费下载链接】flink-cdcFlink CDC is a streaming data integration tool项目地址: https://gitcode.com/GitHub_Trending/flin/flink-cdc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考