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

时间:2024-03-31 09:50:34

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目录)

sh bin/install-plugin.sh

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

sh bin/install-plugin.sh 2.3.3

也可以手动导入依赖

1.这个目录下放连接器

apache-seatunnel-2.3.3/connectors/seatunnel

file

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

file

/usr/local/mysql/module/seatunnel/apache-seatunnel-2.3.3/lib

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

/usr/local/mysql/module/seatunnel/apache-seatunnel-2.3.3/config

file

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

file

执行命令

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

file

example08.conf配置文件中

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

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

file ‘ 附件是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的区别

file

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