【保姆级教程】使用SeaTunnel同步Kafka的数据到ClickHouse

1.Apache SeaTunnel依赖地址

2.SeaTunnel官网的Source/Sink模板

3.SeaTunnel的GitHub地址

在官网下载安装包之后,(注意:别下载apache-seatunnel-incubating-2.1.0-bin.tar.gz版本,依赖和功能都没有。)要使用apache-seatunnel-2.3.3-bin.tar.gz,但还需要配置环境和jar包,jar包需要联网。

从2.2.0-beta开始,二进制包默认不提供Connectors的依赖,因此在第一次使用它时,需要执行以下命令来安装连接器。当然,您也可以从Apache Maven Repository\[https://repo.maven.apache.org/maven2/org/apache/seatunnel/\]手动下载连接器,然后移动到Connectors/SeaTunnel目录)

java 复制代码
sh bin/install-plugin.sh

如果需要指定connector的版本,以2.3.3版本为例,需要执行

java 复制代码
sh bin/install-plugin.sh 2.3.3

也可以手动导入依赖

1.这个目录下放连接器

java 复制代码
apache-seatunnel-2.3.3/connectors/seatunnel

2.这个目录下放MySQL和clickhouse连接驱动和SeaTunnel的Source包

java 复制代码
/usr/local/mysql/module/seatunnel/apache-seatunnel-2.3.3/lib

3.这个目录下放配置文件

java 复制代码
/usr/local/mysql/module/seatunnel/apache-seatunnel-2.3.3/config

注意这里有一个seatunnel-env.sh文件,是配置Flink或者Spark环境变量的文件需要配置

执行命令

注意这里bin目录下的启动脚本选择,启动先最好先看一下flink -v、环境变量文件seatunnel-env.sh的配置、脚本选择(Flink版本不同,启动脚本不同),确保Flink的jobmanneantaskman都启动,然后再执行任务.

example08.conf配置文件中

复制代码
env {
        execution.parallelism = 1
        job.mode = "STREAMING"
        checkpoint.interval = 2000
}
这里使用flink一定要是STREAMING,不能是BATCH

具体配置格式参考上面的第2点------SeaTunnel官网的Source/Sink模板,最后注意执行任务可能需要几十分钟,但数据一定要等任务运行完毕后才能过去。

' 附件是Apache SeaTunnel2.3.3版本的完整目录,包含MySQL、clickhouse的连接驱动和配置文件,包括seatunnel-env.sh环境变量文件,根据数据同步链路和服务器参数改动 。

附件2是配置文件,从MySQL到ClickHouse,从MySQL到Kafka,从Kafka到ClickHouse。

执行一次命令同步一次。在数据同步过程中,确保目标表和源表都存在,并且源表内有数据是非常重要的,这样才能够在执行同步命令后在目标表中看到同步效果

复制代码
java
[root@172-xx-xxx-x bin]# ./start-seatunnel-flink-15-connector-v2.sh --config ../config/example07.conf 

SeaTunnel配置中的env {j:ob.mode = "STREAMING"}的STREAMINGBATCH的区别

本文由 白鲸开源科技 提供发布支持!

相关推荐
wjkjpcba8 小时前
机器人控制板PCBA怎么加工?从SMT贴片到BGA焊接解析机器人电子制造工艺
大数据·人工智能
Capricorn198810 小时前
解决全网抄 Karpathy 导致的 LLM Wiki 污染?基于知芽 Notebook Skill 的 raw/ 笔记法排障指南
大数据·论文阅读·人工智能·笔记·论文笔记
临沂GEO10 小时前
GEO搜索优化科普|正规地理位置流量运营入门指南
大数据·人工智能·python·流量运营
人民新视野11 小时前
党建引领促交流 互学互鉴共提升 —— 赴启信创格(北京)营销科技有限公司交流学习活动总结
大数据·人工智能·科技
中科高级技工学校12 小时前
乌鲁木齐中医康复学习经历分享
大数据·学习
ManageEngineITSM13 小时前
什么是CMDB?配置管理数据库的定义、作用与建设方法一文讲清
大数据·数据库·人工智能·资产管理·变更管理
Delite80213 小时前
开口闪点检测智能化升级:工业油品安全检测的标准化解决方案
大数据·人工智能·安全
CallFay云起未来13 小时前
AI客服能不能减少人工回复?从重复咨询到人机协同的落地分析
java·大数据·人工智能·文心一言
Elastic 中国社区官方博客13 小时前
OpenTelemetry Java 扩展:无需分叉 agent 即可自定义追踪
java·大数据·运维·开发语言·数据库·人工智能·elasticsearch