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

Flinkcdc 实现 MySQL 写入 Doris

Flinkcdc 实现 MySQL 写入 Doris

Flinkcdc 实现 MySQL 写入 Doris

一、环境配置

Doris:3.0.4 + JDK 17
MySQL (业务数据库):5.7
MySQL(本地数据库):5.7
Flink:flink-1.19.1
flinkcdc:flink-cdc-3.3.0

二、环境搭建

  1. 下载 Flink 1.19.1
wget https://archive.apache.org/dist/flink/flink-1.19.1/flink-1.19.1-bin-scala_2.12.tgz

解压后得到 flink-1.19.1 目录,设置 FLINK_HOME 为 flink-1.19.1 所在目录

sudo vim /etc/profile.d/my_env.sh

添加 Flink 路径

export JAVA_HOME=/opt/module/java
export PATH=$PATH:$JAVA_HOME/bin
export FLINK_HOME=/opt/module/flink-1.19.1
export PATH=$PATH:$FLINK_HOME/bin 
  1. 读入数据通过在 conf/flink-conf.yaml 配置文件追加下列参数开启 checkpoint,每隔 3 秒做一次 checkpoint。
execution.checkpointing.interval: 3000
  1. 使用下面的命令启动 Flink 集群
./bin/start-cluster.sh

启动成功的话,可以在 http://localhost:8081/访问到 Flink Web UI,如下所示:
在这里插入图片描述
多次执行 start-cluster.sh 可以拉起多个 TaskManager。

部署 Doris 和 MySQL 这部分省略

添加配置文件
Flink lib 目录下:
在这里插入图片描述
flinkcdc 3.3.0 lib 目录下
在这里插入图片描述

三、通过 Flink CDC CLI 提交任务

编写任务配置 yaml 文件。 下面给出了一个整库同步的示例文件 mysql-to-doris.yaml:

################################################################################
# Description: Sync MySQL all tables to Doris
################################################################################
source:type: mysqlhostname: 172.16.11.154port: 3306username: rootpassword: xxxtables: app_db.\.*server-id: 5400-5404server-time-zone: 'Asia/Shanghai'
sink:type: dorisfenodes: 172.16.10.181:8030benodes: 172.16.10.181:8040username: rootpassword: 123456table.create.properties.light_schema_change: truetable.create.properties.replication_num: 1pipeline:name: Sync MySQL Database to Dorisparallelism: 1

其中: source 中的 tables: app_db..* 通过正则匹配同步 app_db 下的所有表。 sink 添加 table.create.properties.replication_num 参数是由于 Docker 镜像中只有一个 Doris BE 节点。

最后,通过命令行提交任务到 Flink Standalone cluster

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

在 Flink Web UI,可以看到一个名为 Sync MySQL Database to Doris 的任务正在运行。
在这里插入图片描述
后续相关信息,参考官网即可
https://nightlies.apache.org/flink/flink-cdc-docs-release-3.3/zh/docs/get-started/quickstart/mysql-to-doris/

相关文章:

  • GoLand包的爆红问题解决
  • laravel中layui的table翻页不起作用问题的解决
  • Qt/C++面试【速通笔记五】—子线程与GUI线程安全交互
  • day004-习题
  • WPF之Label控件详解
  • 从零开始的二三维CAD软件开发: 系列经验分享-写在开头
  • Android Studio 安装 Continue插件
  • JavaScript:从DOM概述到window对象的常见事件
  • C++ 部署的性能优化方法
  • terraform 动态块(Dynamic Blocks)详解与实践
  • SpringBoot启动后自动执行方法的各种方式-笔记
  • MATLAB 汽车行驶过程避障模拟简化
  • 【ACL系列论文写作指北09-参考文献与引用管理】-学术诚信与视野的体现
  • SwiftUI 8.List介绍和使用
  • 【广州华锐视点】AR 远程协同:突破时空限制的利器
  • 十、名字控制(Name Control)
  • 数据结构*栈
  • Spring MVC 基础 - 从零构建企业级Web应用
  • IIC 通信协议
  • 从传统制造到智能工厂:MES如何重塑电子制造业?
  • 人到中年为何腰围变粗?科学家发现腹部脂肪增加的细胞元凶
  • 五万吨级半潜船在沪完成装备装载
  • 全球前瞻|王毅赴巴西出席金砖外长会,加拿大迎来“几十年来最重要大选”
  • 伊朗爆炸港口已恢复货物进出口工作
  • 广州一季度GDP为7532.51亿元,同比增长3%
  • 商务部:将打造一批国际消费集聚区和入境消费友好商圈