news 2026/9/24 16:31:54

Flink CDC 安装与配置教程:三步跑通 MySQL 到 Doris 的实时同步管道

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flink CDC 安装与配置教程:三步跑通 MySQL 到 Doris 的实时同步管道

Flink CDC 安装与配置教程:三步跑通 MySQL 到 Doris 的实时同步管道

【免费下载链接】flink-cdcFlink CDC is a streaming data integration tool项目地址: https://gitcode.com/GitHub_Trending/flin/flink-cdc

Flink CDC 是构建在 Apache Flink 之上、用 YAML 描述全库同步的流式数据集成工具。这份 Flink CDC 安装与配置指南带你三步跑通 MySQL 到 Doris 的同步链路。

先搞清楚 Flink CDC 干什么

一句话:它把数据库的变更捕获成数据流,再实时搬到目标端,支持整库同步、分库分表合并、表结构自动演进(schema evolution)和数据处理。底层吃的是 Apache Flink 的流处理能力,你只需要写一份 YAML 就能定义整条管道。

它对外提供三层 API,日常做同步主要用第一层:

  • YAML API(Pipeline API):零代码,写 YAML、用 CLI 提交,本文就讲它。
  • SQL API:在 Flink SQL 里用 DDL 定义 CDC 源表。
  • DataStream API:以 Maven 依赖方式写 Java 程序,适合深度定制。

开始前:环境清单

动手前把下面几样备齐,能省下大量排查时间。

项目要求
JDK11 或更高(3.6.0 起基于 JDK 11 构建,用java -version确认)
Apache Flink1.20.x 或 2.2.x,并设置好FLINK_HOME
源端 / 目标端一个可访问的 MySQL 源和一个 Doris 目标,网络互通
Flink CDC官方二进制发行包flink-cdc-x.x.x-bin.tar.gz

拿到二进制包后解压,会得到一个flink-cdc-x.x.x目录,里面是binliblogconf四块。后面提交作业用的 CLI 就在bin里。

💡 想快速搭一套含 MySQL、Doris 的沙箱环境,可以直接用仓库自带的 tools/cdcup/ 工具:./cdcup.sh init生成配置,./cdcup.sh up起容器,省去手动装库。

第一步:放置连接器 JAR

Flink CDC 本身不打包具体连接器,需要把"源"和"汇"两个 jar 放进去:

  1. 下载源端连接器flink-cdc-pipeline-connector-mysql和汇端连接器flink-cdc-pipeline-connector-doris(对应你实际用的源与目标)。
  2. 把这两个 jar 放进Flink CDC Home 的lib目录——注意是 CDC 的lib,不是 Flink 的lib,放错地方作业起不来。
  3. 因为新版不再把 MySQL 驱动打进连接器,还需额外放一份 MySQL 驱动 jar 到 Flink 的lib,或提交时用--jar带上。

更多连接器的完整清单可查 docs/content/docs/connectors/pipeline-connectors/overview.md。

第二步:写一条同步管道 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: "" pipeline: name: Sync MySQL Database to Doris parallelism: 2

几个容易踩的点:

  • tables: app_db.\.*用正则匹配app_db下所有表,实现整库同步;只想同步某几张表就写具体表名。
  • server-id给一个区间(如5400-5404),要覆盖parallelism的并发数。
  • Doris 端不支持自动建库,提前在目标建好对应数据库,否则会写入失败。

第三步:提交作业

切到 Flink CDC 解压目录,用 CLI 提交:

bash bin/flink-cdc.sh mysql-to-doris.yaml

提交成功的返回类似:

Pipeline has been submitted to cluster. Job ID: ae30f4580f1918bebf16752d4963dc54 Job Description: Sync MySQL Database to Doris

拿到 Job ID 就说明作业已下发到集群。

验证同步是否成功

别只盯着提交回执,两边都要看:

  1. 打开 Flink Web UI(默认http://localhost:8081),确认名为Sync MySQL Database to Doris的作业处于RUNNING
  2. 打开 Doris Web UI(默认http://localhost:8030,账号root),确认表已自动创建、数据已落入。

想进一步确认"变更"也在跟着走,可以在 MySQL 里插入、更新、删一行,再回 Doris 刷新,数据应实时一致。完整演练步骤见 docs/content/docs/get-started/quickstart-for-2.2/mysql-to-doris.md。

避坑清单

  • JAR 放错目录:连接器 jar 进 CDC 的lib,MySQL 驱动进 Flink 的lib,二者别混。
  • Doris 没预建库:目标库要手动先建好。
  • 版本错配:JDK、Flink、Flink CDC 三者版本要对得上,升级前先对一遍。
  • 配置项随版本变:不同版本参数可能有出入,以最新官方文档为准,入门可看 docs/content/docs/get-started/introduction.md。
  • 想从源码构建:克隆仓库git clone https://gitcode.com/GitHub_Trending/flin/flink-cdc后按构建流程编译(SNAPSHOT 包需要自己构建)。

进阶方向

跑通第一条链路后,可以在同一份 YAML 里继续加料:

  • route:把源表路由到不同目标表名,实现库/表改名与分片表合并。
  • transform:投影、过滤、函数转换,数据在管道里就地加工。
  • schema.change.behavior: evolve:开启表结构自动演进,源端加列目标端跟着变。

需要动手时直接翻 tools/cdcup/ 的示例和 docs/content/docs/core-concept/ 下的概念文档,照着抄改最快。

【免费下载链接】flink-cdcFlink CDC is a streaming data integration tool项目地址: https://gitcode.com/GitHub_Trending/flin/flink-cdc

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 16:31:52

Argos Translate 离线翻译引擎 5 分钟上手笔记

Argos Translate 离线翻译引擎 5 分钟上手笔记 【免费下载链接】argos-translate Open-source offline translation library written in Python 项目地址: https://gitcode.com/GitHub_Trending/ar/argos-translate 翻译数据不能出内网?离线翻译引擎入门 合…

作者头像 李华
网站建设 2026/9/24 16:31:43

shadcn-vue Textarea 组件完全指南:安装、属性解析与表单集成实战

shadcn-vue Textarea 组件完全指南:安装、属性解析与表单集成实战 【免费下载链接】shadcn-vue Vue port of shadcn-ui 项目地址: https://gitcode.com/gh_mirrors/sh/shadcn-vue 导读 Textarea 是 shadcn-vue 中用于展示多行文本输入的表单组件&#xff0c…

作者头像 李华
网站建设 2026/9/24 16:31:21

palera1n:A8 到 A11 设备 iOS 15 越狱的 checkm8 完整指南

palera1n:A8 到 A11 设备 iOS 15 越狱的 checkm8 完整指南 【免费下载链接】palera1n Jailbreak for A8 through A11, T2 devices, on iOS/iPadOS/tvOS 15.0, bridgeOS 5.0 and higher. 项目地址: https://gitcode.com/GitHub_Trending/pa/palera1n palera1n…

作者头像 李华