
感谢社区用户“指南针
”投稿,为广大用户和社区共建注入了新的活力,希望他的经验能够传递下去!
准备工作
Java环境
要求Java8或者Java11,并设置JAVA\_HOME
,如果JAVA_HOME无效,需要设置为有效状态。
echo ${JAVA_HOME}

创建安装软件目录
sudo mkdir -p opt/seatunnel/backend sudo mkdir -p opt/seatunnel/web

下载软件
从https://seatunnel.apache.org/download/
下载Apache-SeaTunnel-2.3.3-bin.tar.gz

以及apache-seatunnel-web-1.0.0-bin.tar.gz

放置到准备好的目录

安装SeaTunnel
解压软件
sudo tar -zxvf apache-seatunnel-2.3.3-bin.tar.gz -C opt/seatunnel/backend
sudo tar -zxvf apache-seatunnel-web-1.0.0-bin.tar.gz -C opt/seatunnel/web/

配置环境变量
在/etc/profile.d/seatunnel.sh
中配置环境变量

然后执行source /etc/profile
下载jar包
Apache SeaTunnel里面的Connector对应的jar包需要自己下载,在下载之前先看看其下载逻辑
下载逻辑
在执行自动下载jar包钱,进入apache-seatunnel-2.3.3
,查看vim bin/install-plugin.sh
内容
主要逻辑如下:
1.使用mvnw进行下载
2.下载seatunnel-hadoop3-3.1.4-uber到lib文件夹下
3.下载在config/plugin\_config
配置的SeaTunnel的连接器到connectors/seatunnel文件下

在下载之前,可以对config/plugin\_config
进行编辑,注释不需要的connector,可以添加需要的connector

可vim connectors/plugin-mapping.properties
查看所有支持的connector

相关目录
执行命令mkdir -p flink flink-sql spark seatunnel
创建多个文件夹

自动下载
sh bin/install-plugin.sh
执行命令即可,一般不推荐,因为从官网下载速度太慢,可以通过修改相关的代码进行手动加速下载。
手动下载
修改代码,通过阿里云的mvn源快速下载,然后将相关jar包复制到对应目录即可。
详细可参考以下文章
https://blog.csdn.net/u013995172/article/details/134385183
注意:下载jar复制到两个文件夹,一个是lib文件夹,一个是connectors/seatunnel
文件夹。
开始运行
测试
进入主文件夹/opt/seatunnel/backend/apache-seatunnel-2.3.3
执行命令:
sudo ./bin/seatunnel.sh --config ./config/v2.batch.config.template -e local
观察到日志有如下信息表示运行测试成功


启动服务
nohup sh bin/seatunnel-cluster.sh 2>&1 &
查看日志tail -f logs/seatunnel-engine-server.log
有类似信息打印出。

必须启动Apache SeaTunnel的Server,Web端服务才能正常运行。
安装SeaTunnel-Web
准备工作
在SeaTunnel的Web端机器上需要部署SeaTunnel客户端,如果服务端与Web端在同一台机器,则可跳过此步。
跳过此步,因为测试环境都部署在同一台机器上。
如有需要可以访问这篇文章: https://seatunnel.apache.org/docs/seatunnel-engine/deployment/#6-config-seatunnel-engine-client
解压软件
sudo tar -zxvf apache-seatunnel-web-1.0.0-bin.tar.gz -C /opt/seatunnel/web/

初始化数据库
修改配置
将script/seatunnel\_server\_env.sh
相关配置改为你的对应的数据库信息

此处HOSTNAME,PORT
等名称容易与系统其他名称冲突,可以加上前缀STWEB\_

给script/init\_sql.sh
相关变量加上前缀STWEB\_

执行初始化数据库命令
执行命令sh init\_sql.sh
,无异常则执行成功。

配置后端服务
修改端口与数据源
vim conf/application.yml
修改端口号和数据源信息

配置client信息
sudo cp /opt/seatunnel/backend/apache-seatunnel-2.3.3/config/hazelcast-client.yaml ./conf/

配置支持的插件信息
sudo cp /opt/seatunnel/backend/apache-seatunnel-2.3.3/connectors/plugin-mapping.properties ./conf/

配置Jar包
配置Jar包非常关键,否则会出现各种各样的问题,常见的有:
1.没有数据源可以进行创建
2.没有Source或者Sink进行选择
3.配置好任务后无法执行
配置元数据Mysql的Jar包

将mysql-connector-java-8.0.15.jar
包复制到
/opt/seatunnel/web/apache-seatunnel-web-1.0.0-bin/libs
配置数据源Jar包

将相关jar包复制到/opt/seatunnel/web/apache-seatunnel-web-1.0.0-bin/libs
注意事项
数据源的Jar包还需要要复制到后端lib文件夹
/opt/seatunnel/backend/apache-seatunnel-2.3.3/lib
否则在配置好web任务时,后台根本不执行!!!
元数据和数据源的jar包还需要要复制到/opt/seatunnel/backend/apache-seatunnel-2.3.3/lib

数据源Jar包下载方式查看
https://blog.csdn.net/u013995172/article/details/134385183 中如下部分

启动服务
sudo sh bin/seatunnel-backend-daemon.sh start
访问ip:8081/ui
,此端口为conf/application.yml
中配置的端口

默认用户名,密码为admin/admin
登录进入后,点击数据源,创建数据源,可看到如下页面。
查看数据源

根据需要配置自己需要的数据源
配置任务

Source端选择官方的SeaTunnel中的role表


Sink端新建另一个库seatunnel\_bak
,新建一个与SeaTunnel中role一样的表

运行实例

任务运行成功后,查询目的数据库的数据,结果符合预期。
select *,'org' flag from seatunnel.`role`
union all
select *,'dest' flag from seatunnel_bak.`role`

至此完成Apache SeaTunnel及Web的整体流程搭建与测试。由于时间仓促,如有错误,敬请指正,作者系Apache SeaTunnel社区的一名用户,也欢迎大家一起共建社区!
如果你也有想法贡献文章,请联系我们社区的运营同学,微信:18819063834
新手入门
SeaTunnel 让数据集成变得 So easy! / 3 分钟入门指南
初探 Apache SeaTunnel / 深入理解 Apache SeaTunnel
MySQL 同步到 Hive / 从MySQL同步到StarRocks
MySQL 到 Elasticsearch 实时同步解决方案
启动 SeaTunnel / 3 分钟部署 SeaTunnel Zeta

最佳实践

测试报告
性能测试报告:SeaTunnel 批量同步数据比 GLUE 快 420%!
最新性能对比报告:SeaTunnel 是 Airbyte 30 倍!
比DataX快20%!SeaTunnel同步计算引擎性能测试全新发布
SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比
Apache SeaTunnel
Apache SeaTunnel 是一个分布式、高性能、易扩展、用于海量数据(离线&实时)同步和转化的数据集成平台
仓库地址:
https://github.com/apache/seatunnel
网址:
https://seatunnel.apache.org/
Apache SeaTunnel 下载地址:
https://seatunnel.apache.org/download
衷心欢迎更多人加入!
我们相信,在「Community Over Code」(社区大于代码)、「Open and Cooperation」(开放协作)、「Meritocracy」(精英管理)、以及「多样性与共识决策」等 The Apache Way 的指引下,我们将迎来更加多元化和包容的社区生态,共建开源精神带来的技术进步!
我们诚邀各位有志于让本土开源立足全球的伙伴加入 SeaTunnel 贡献者大家庭,一起共建开源!
提交问题和建议:
https://github.com/apache/seatunnel/issues
贡献代码:
https://github.com/apache/seatunnel/pulls
订阅社区开发邮件列表 :
dev-subscribe@seatunnel.apache.org
开发邮件列表:
dev@seatunnel.apache.org
加入 Slack:
https://join.slack.com/t/apacheseatunnel/shared_invite/zt-1kcxzyrxz-lKcF3BAyzHEmpcc4OSaCjQ
关注 Twitter:
https://twitter.com/ASFSeaTunnel




