使用 seatunnel 实现数据同步

news/2025/11/12 16:17:35/文章来源:https://www.cnblogs.com/yg_zhang/p/19214493

1. 概述

seatunnel 是一个数据同步平台,他可以在多种数据源之间实现数据同步,可以实现批处理同步,或者流处理同步,支持 flink,spark计算引擎。当前的版本是 2.3.12

2.部署安装

https://seatunnel.apache.org/zh-CN/download

下载最新的版本

解压后,还需要安装插件
执行命令
./bin/install-plugin.sh 2.3.12

执行完成后会在 connectors 看到下载的连接器插件
image

通常情况下,你不需要所有的连接器插件。你可以通过配置config/plugin_config来指定所需的插件。例如,如果你想让示例应用程序正常工作,你将需要connector-console和connector-fake插件。你可以修改plugin_config配置文件,如下所示

--connectors-v2--
connector-fake
connector-console
connector-cdc-mysql
connector-doris
connector-jdbc
connector-kafka
connector-rocketmq
--end--

3.执行seatunnel实现数据同步

seatunnel 可以实现使用 seatunnel 引擎,flink 引擎,spark引擎执行数据同步。
我们先实现本地启动实现同步,本地启动一般是直接提交计算任务,任务执行完成后,自动执行完毕。

3.1 使用seatunnel 实现 CDC同步

  • 编写配置文件

使用seatunnel 实现同步时,需要编写 来源,转换,目标的配置文件,实现数据同步。具体这个文件怎么写,可以参考文档。

env {parallelism = 1job.mode = "STREAMING"checkpoint.interval = 10000
}source {MySQL-CDC {url = "jdbc:mysql://192.168.2.10:3306/demo1"username = "root"password = "root"table-names = ["demo1.demo1"]startup.mode = "initial"}
}sink {jdbc {url = "jdbc:mysql://192.168.2.10:3306/demo2?useUnicode=true&characterEncoding=UTF-8&rewriteBatchedStatements=true"driver = "com.mysql.cj.jdbc.Driver"username = "root"password = "root"generate_sink_sql = true# You need to configure both database and tabledatabase = demo2table = demo1primary_keys = ["id"]field_ide = UPPERCASEschema_save_mode = "CREATE_SCHEMA_WHEN_NOT_EXIST"data_save_mode="APPEND_DATA"}
}
  • 执行同步命令

./bin/seatunnel.sh --config ./config/mysqlcdc.conf -m local
执行这个命令后,由于cdc 会一直监控数据,所以这个不会退出,我们可以对源表进行操作,我们可以观察目标表的数据变化。当然如果使用cdc,数据库需要启用binlog。我们可以发现数据可以一直变化,实现表之间的数据同步。

  • 下载 flink 的 15- 18的版本
    https://archive.apache.org/dist/flink/flink-1.15.4/
    解压后启动 flink
    ./bin/start-cluster.sh

  • 配置flink
    编辑 seatunnel-env.sh
    配置 flink 安装地址:

FLINK_HOME=/seatunnel/flink/flink-1.15.4
  • 发送 flink 命令

./bin/start-seatunnel-flink-15-connector-v2.sh --config ./config/mysqlcdc.conf

Execute SeaTunnel Flink Job: ${FLINK_HOME}/bin/flink run -c org.apache.seatunnel.core.starter.flink.SeaTunnelFlink /home/zhangyg/seatunnel/apache-seatunnel-2.3.12/starter/seatunnel-flink-15-starter.jar --config ./config/mysqlcdc.conf --name SeaTunnel --deploy-mode run
Job has been submitted with JobID cb3ee99c303c15f8f4f37db80379e21c

发送命令后,cdc 会一直执行,我们可以通过更改源数据表查看目标表的数据变化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/963542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BM3D 图像降噪快速算法的 MATLAB 实现

1. 快速 BM3D 算法流程(概述)步骤 操作 加速技巧① 分组 块匹配 + 堆叠 FFT 互相关② 协同滤波 3D 变换 + 硬阈值 FFT 沿第三维③ 聚合 加权平均 稀疏矩阵累加2. 核心函数(单文件版) 保存为 bm3d_fast.m 即可调用:…

甘孜西林瓶灌装线厂家免费培训内容揭秘

在当前制药及试剂灌装设备市场中,价格竞争日趋激烈,部分厂商为压缩成本,采用简化结构、降低材质标准甚至省略关键功能模块的方式压低报价,导致设备稳定性差、故障率高、售后响应迟缓,最终用户反而面临更高的隐性使…

C# winform快速自适应布局

C# winform快速自适应布局C# winform快速自适应布局 此方法的优点是:简单易学,布局速度快,适用于绝大多数软件界面。缺点是:不太适合需要高度定制的复杂软件界面。 实现的原理是:会将from装进Panel里面对控件进行…

实验2 熟悉常用的HDFS操作 通过编程和Shell命令

编程实现以下功能,并利用Hadoop提供的Shell命令完成相同任务:向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,则由用户来指定是追加到原有文件末尾还是覆盖原有的文件; 从HDFS中下载指定文件,如果本地…

OWASP 在新的前 10 名榜单中强调供应链风险

OWASP于11月6日发布的更新是自 2021 年以来的首次重大前10榜单更新,其显著特点在于强调供应链风险和系统性设计缺陷,而不仅仅是常见的软件编码错误。对于防御者而言,关键要点在于需要将应用安全、软件供应链监督和运…

v4l2 probe时各个device的操作顺序

dev_set_drvdata(&pdev->dev, myisp) “在现代嵌入式 Linux(尤其是 ARM)中,不再硬编码 platform_device,而是通过 设备树(Device Tree) 描述硬件”。 myisp就是驱动模块对应的自定义设备; 这里把myisp结…

国泰君安基于隐语SecretFlow生产场景探索实践

业务背景及痛点 作为一家综合性的证券金融集团,国泰海通证券在探索数据协同与隐私保护方面始终走在行业前列。我们技术团队内部在集团推动部署 SecretFlow(以下简称“隐语”)平台,主要出于两个核心动因:一方面是加…

张家口西林瓶灌装线带废料回收报价

在制药与生物制剂生产领域,西林瓶灌装线的配置选择日益趋向精细化与场景适配化。尤其在张家口地区,随着本地医药制造企业对绿色生产、成本控制及合规性要求的不断提升,具备废料回收功能的西林瓶灌装设备逐渐成为采购…

基于DNA编码与混沌系统的图像加密

一、DNA编码与混沌系统结合原理 DNA编码技术通过将数字信息映射为生物分子序列,结合混沌系统的伪随机性,形成双重加密机制。其核心优势在于:超高密度存储:1克DNA可存储215PB数据,远超传统存储介质 并行运算能力:…

windows键盘显示软件

屏幕按键显示软件 github - carnac b站的一些推荐: 开源免费软件分享0013——Carnac WINDOWS五款屏幕按键显示软件推荐 【软件工具】KeyCastOW-史上最好用的屏幕显示输入信息工具

鲜花:m 群 bot 随机一言摘抄

上帝是公平的,虽然给了你低颜值,但是给了你高眼光啊遇到你之前,我的世界是黑白的,遇见你之后 哇靠 全黑了不是你长大变傻了,而是傻子长大了觉得只要认真努力就会胜利,这世上哪有这么天真的事哭也不会改变什么,这…

Canvas简单整理 - sk

1. Canvas概述 1.1 Canvas是什么 Canvas又称为“画布”,是HTML5的核心技术之一,通常说的Canvas技术,指的就是使用Canvas元素结合JavaScript来绘制各种图形的技术。 1.2 Canvas的用途 1)绘制图形;2)绘制图表;3)…

MATLAB小波分析工具包进行时间序列的小波功率谱分析

MATLAB的小波分析工具包(Wavelet Toolbox)提供了强大的功能,用于分析和处理信号与图像。使用MATLAB小波分析工具包进行时间序列的小波功率谱分析的详细步骤。 1. 加载数据 首先,加载需要分析的时间序列数据。假设数…

CPU softlockup(软锁定)

CPU softlockup(软锁定)是 Linux 内核 watchdog 机制报出的“某颗 vCPU 在内核态连续 20 s(默认)没有发生任务切换”的异常。本质是:内核线程/中断上下文长时间关抢占(或死循环),导致该核上的 watchdog 线程得…

再次出山!!

如今,时隔多年,又准备开始重新写博客了!!! 今天先看看效果

营口西林瓶灌装机资质齐全,含医疗器械生产许可与行情报价

近年来,西林瓶灌装机市场受原材料价格波动、核心零部件进口成本变化及区域供需关系影响,整体呈现温和上涨趋势。据行业数据显示,2024年第四季度至2025年第三季度期间,西林瓶灌装设备的终端售价平均涨幅约为6.8%。其…

Tita 项目管理软件:驱动互联网企业高效运营与战略落地新引擎

在当今快节奏的互联网行业中,许多企业虽拥有创新产品与业务蓝图,却常因内部管理机制滞后而陷入发展瓶颈。尤其是中型互联网公司,在业务覆盖软件开发、线上营销与平台运营等多板块时,传统的管理模式往往导致目标断层…

完整教程:Java 反射机制核心类详解:Class、Constructor、Method、Field

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Problems

Done QOJ #970 Best Subsequence $ _{6.3}$定义 \(f(\{a\},k)\) 为最小的 x 使得存在一个 \(a\) 的长度为 \(k\) 的子序列首尾相接以后每两个相邻向之和均 \(\le x\)。 给定数组 \(a\) 和 \(q\) 组询问,每组询问给定 …

vue网站禁止右键以及禁止打开控制台,检测到控制台停止运行

App.vue参考:<template> <div id="app" @contextmenu.prevent="handleContextMenu"> <router-view /> </div></template> <script> export default {…