Apache SeaTunnel Web安装部署指南

本文详细讲解了如何快速部署Apache SeaTunnel Web 1.0版本,请尽快收藏!

准备工作

Java环境

要求java8或者java11,并设置JAVA_HOME,如果JAVA_HOME无效,需要设置为有效状态。

echo ${JAVA_HOME}

170064608951593fbe248706620429bc16ec0a936d166 

创建安装软件目录

sudo mkdir -p /opt/SeaTunnel/backend

sudo mkdir -p /opt/seatunnel/web

1700646089502b98cb1ecaf6bc8fd9521f7ac4cea16d4 

 

下载软件

https://seatunnel.apache.org/download/下载apache-seatunnel-2.3.3-bin.tar.gz

1700646089523681cf37f9f3b0a9e1a2f625c94f205b9 

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

1700646089529186870899d694ccbb4052c13893848fb 

放置到准备好的目录

1700646089529602af08f5dd6aaa6d08aa7a1f14e2a44 

安装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/

1700646089550e6e40a878463f093895d0125cba687be 

配置环境变量

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

1700646090264461fc8238349911dd1ce39c4eaeb534f 

然后执行source /etc/profile

下载jar

Seatunnel里面的connector对应的jar包需要自己下载,在下载之前先看看其下载逻辑

下载逻辑

在执行自动下载jar包钱,进入apache-seatunnel-2.3.3,查看vim bin/install-plugin.sh内容

主要逻辑如下:

1. 使用mvnw进行下载

2. 下载seatunnel-hadoop3-3.1.4-uberlib文件夹下

3. 下载在config/plugin_config配置的seatunnel的连接器到connectors/seatunnel文件下

 

1700646090305c6b4a6646088bc94119e39bb9fb36ecf 

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

1700646090289bcf2d9e4c4df8651a8d8a171945d5bed 

 

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

1700646090265d3d9446802a44259755d38e6d163e820 

相关目录

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

17006460903066512bd43d9caa6e02c990b0a82652dca 

自动下载

 

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

观察到日志有如下信息表示运行测试成功

 1700646090280c20ad4d76fe97759aa27a0c99bff67101700646091003c51ce410c124a10e0db5e4b97fc2af39

 

 

启动服务

 nohup sh bin/seatunnel-cluster.sh 2>&1 &

查看日志tail -f logs/seatunnel-engine-server.log 有类似信息打印出。

 1700646090982aab3238922bcc25a6f606eb525ffdc56

必须启动seatunnelserverweb端服务才能正常运行。

 

 

安装seatunnel-web

 

准备工作

seatunnelweb端机器上需要部署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/

 17006460909939bf31c7ff062936a96d3c8bd1f8f2ff3

初始化数据库

修改配置

script/seatunnel_server_env.sh相关配置改为你的对应的数据库信息

 1700646091016c74d97b01eae257e44aa9d5bade97baf

此处HOSTNAME,PORT等名称容易与系统其他名称冲突,加上前缀STWEB_

 170064609099370efdf2ec9b086079795c442636b55fb

script/init_sql.sh相关变量加上前缀STWEB_

 17006460910186f4922f45568161a8cdf4ad2299f6d23

执行初始化数据库命令

执行命令sh init_sql.sh,无异常则执行成功。

 17006460917701f0e3dad99908345f7439f8ffabdffc4

 

配置后端服务

修改端口与数据源

vim conf/application.yml修改端口号和数据源信息

 170064609174598f13708210194c475687be6106a3b84

 

配置client信息

sudo cp /opt/seatunnel/backend/apache-seatunnel-2.3.3/config/hazelcast-client.yaml ./conf/

 17006460917173c59dc048e8850243be8079a5c74d079

 

配置支持的插件信息

sudo cp /opt/seatunnel/backend/apache-seatunnel-2.3.3/connectors/plugin-mapping.properties ./conf/

 1700646091722b6d767d2f8ed5d21a44b0e5886680cb9

 

配置jar

配置jar包非常关键,否则会出现各种各样的问题,常见的有:

1.没有数据源可以进行创建

2.没有source或者sink进行选择

3.配置好任务后无法执行

 

配置元数据mysqljar

 170064609178537693cfc748049e45d87b8c7d8b9aacd

mysql-connector-java-8.0.15.jar包复制到

/opt/seatunnel/web/apache-seatunnel-web-1.0.0-bin/libs

配置数据源jar

 17006460917411ff1de774005f8da13f42943881c655f

将相关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

 17006460924198e296a067a37563370ded05f5a3bf3ec

 

 

数据源jar包下载方式查看

https://blog.csdn.net/u013995172/article/details/134385183 中如下部分

 17006460924524e732ced3463d06de0ca9a15b6153677

 

启动服务

 

sudo sh bin/seatunnel-backend-daemon.sh start

访问ip:8081/ui,此端口为conf/application.yml中配置的端口

 170064609250102e74f10e0327ad868d138f2b4fdd6f0

默认用户名,密码为admin/admin

 

登录进入后,点击数据源,创建数据源,可看到如下页面。

查看数据源

 170064609252133e75ff09dd601bbe69f351039152189

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

 

配置任务

 17006460926986ea9ab1baa0efb9e19094440c317e21b

Source端选择官方的seatunnel中的role

 170064609273734173cb38f07f89ddbebc2ac9128303f

1700646093164c16a5320fa475530d9583c34fd356ef5

 

Sink端新建另一个库seatunnel_bak,新建一个与seatunnelrole一样的表

 17006460933016364d3f0f495b6ab9dcf8d3b5c6e0b01

 

运行实例

 1700646093312182be0c5cdcd5072bb1864cdee4d3d6e

 

任务运行成功后,查询目的数据库的数据,结果符合预期。

select *,'org' flag from seatunnel.`role` 

union all 

select *,'dest' flag from seatunnel_bak.`role` 

 

 1700646093371e369853df766fa44e1ed0ff613f563bd

 

至此完成seatunnel及web的整体流程搭建与测试。