file

准备工作

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...

解压软件

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
65 声望15 粉丝

Apache SeaTunnel是下一代高性能、分布式、海量数据集成框架。通过我们的努力让数据同步更简单,更高效,大幅减少学习成本,加快分布式数据处理能力在生产环境落地。