多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

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

Flink CDC 安装与配置教程:三步跑通 MySQL 到 Doris 的实时同步管道 Flink CDC 安装与配置教程三步跑通 MySQL 到 Doris 的实时同步管道【免费下载链接】flink-cdcFlink CDC is a streaming data integration tool项目地址: https://gitcode.com/GitHub_Trending/flin/flink-cdcFlink CDC 是构建在 Apache Flink 之上、用 YAML 描述全库同步的流式数据集成工具。这份 Flink CDC 安装与配置指南带你三步跑通 MySQL 到 Doris 的同步链路。先搞清楚 Flink CDC 干什么一句话它把数据库的变更捕获成数据流再实时搬到目标端支持整库同步、分库分表合并、表结构自动演进schema evolution和数据处理。底层吃的是 Apache Flink 的流处理能力你只需要写一份 YAML 就能定义整条管道。它对外提供三层 API日常做同步主要用第一层YAML APIPipeline 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目录里面是bin、lib、log、conf四块。后面提交作业用的 CLI 就在bin里。 想快速搭一套含 MySQL、Doris 的沙箱环境可以直接用仓库自带的 tools/cdcup/ 工具./cdcup.sh init生成配置./cdcup.sh up起容器省去手动装库。第一步放置连接器 JARFlink CDC 本身不打包具体连接器需要把源和汇两个 jar 放进去下载源端连接器flink-cdc-pipeline-connector-mysql和汇端连接器flink-cdc-pipeline-connector-doris对应你实际用的源与目标。把这两个 jar 放进Flink CDC Home 的lib目录——注意是 CDC 的lib不是 Flink 的lib放错地方作业起不来。因为新版不再把 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 就说明作业已下发到集群。验证同步是否成功别只盯着提交回执两边都要看打开 Flink Web UI默认http://localhost:8081确认名为Sync MySQL Database to Doris的作业处于RUNNING。打开 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 的libMySQL 驱动进 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),仅供参考
返回列表