版本说明

由于作者目前接触当前最新版本为2.3.4 但是官方提供的web版本未1.0.0,不兼容2.3.4,因此这里仍然使用2.3.3版本。
可以自定义兼容处理,官方提供了文档:https://mp.weixin.qq.com/s/Al1VmBoOKu2P02sBOTB6DQ

因为大部分用户使用SeaTunnel Web都是基于SeaTunnel-2.3.3 版本做的适配,而最新发布的SeaTunnel2.3.4部分API发生了改动导致直接升级的过程中会出现API不兼容的问题,所以本篇文章重点来了:我们需要对调用SeaTunnel APl的SeaTunnel Web源码部分进行修改,修改完之后,就能完全适配2.3.4最新版本。

下载地址

Apache SeaTunnel下载

https://seatunnel.apache.org/download
file

SeaTunnel-web下载

https://seatunnel.apache.org/download
和SeaTunnel在相同的页面,往下拉,最下面有下载地址:
file

安装SeaTunnel

上传压缩包

将下载的压缩包上传到指定目录下

# 在opt下创建seatunnel文件夹
mkdir /opt/seatunnel
# 用rz命令或shell工具上传即可

file

解压

tar -zxvf apache-seatunnel-2.3.3-bin.tar.gz

配置环境变量

# 编辑/etc/profile.d/my.env
vim /etc/profile.d/my.env

# 加入以下配置,具体路径根据自己服务设定
# 加入java环境变量
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$JAVA_HOME/bin:$PATH

# 加入maven环境变量
export MAVEN_HOME=/opt/module/apache-maven-3.5.4
export PATH=$MAVEN_HOME/bin:$PATH

执行source刷新环境变量

source /etc/profile

下载JAR包

Apache SeaTunnel里面的Connector对应的jar包需要自己下载,在执行自动下载jar包前,进入apache-seatunnel-2.3.3,查看vim bin/install-plugin.sh内容,主要内容就是下载jar包,
下载包的配置文件是:

${SEATUNNEL_HOME}/config/plugin_config

这个配置文件中不需要的可以删掉或注释掉,只下载自己需要的;默认是从mvvm下载,下载速度太慢,我这边安装了maven,并且配置了阿里云仓库,因此可以直接将下图中命令替换,从maven中下载,
file

将 ${SEATUNNEL_HOME}/mvnw  替换为  mvn  

保存后退出

修改后:

file

jar包将下载下载到connectors/seatunnel这个目录下;
执行下载命令

sh bin/install-plugin.sh

看到是从阿里云下载的,等待下载完成即可

file

下载完成后将connectors下的jar包拷贝到lib下

cp connectors/seatunnel/* lib/

测试功能

cd /opt/seatunnel/apache-seatunnel-2.3.3

./bin/seatunnel.sh --config ./config/v2.batch.config.template -e local

看到这个就是执行成功,目前为止seatunnel安装成功
file

启动服务

# 后台启动服务
nohup sh bin/seatunnel-cluster.sh 2>&1 &

查看日志,打印如下日志即成功运行:
file

安装SeaTunnel-Web

解压安装包

tar -zxvf apache-seatunnel-web-1.0.0-bin.tar.gz 

file

初始化数据库

数据库脚本在/opt/seatunnel/apache-seatunnel-web-1.0.0-bin/script 这个文件夹下,由于我Mysql是使用Docker安装,在宿主机无法执行命令,因此无法直接在服务器端安装,所以我将Seatunnel_server_mysql.sql 拷贝到本地,通过客户端导入脚本
file
执行成功:
filete-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_1E9C590DA25643898C5D99B3FE86FE95)te-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_93757156BCE1469E8A94260717F940C6)

修改数据连接配置文件

vim conf/application.yml

下图中更改成对应实际数据库服务的信息:
file

配置Client信息

cp /opt/seatunnel/apache-seatunnel-2.3.3/config/hazelcast-client.yaml /opt/seatunnel/apache-seatunnel-web-1.0.0-bin/conf/

配置支持的插件信息

cp /opt/seatunnel/apache-seatunnel-2.3.3/connectors/plugin-mapping.properties /opt/seatunnel/apache-seatunnel-web-1.0.0-bin/conf/

配置JAR包

首先找一个数据库驱动包放到lib目录下:mysql-connector-java-8.0.28.jar
filete-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_8B4CA3FF178245F0A39716CE65715622)

配置数据源JAR包

脚本地址:https://seatunnel.apache.org/assets/files/download_datasource-4b79e6fafe80459590a6a0fc2865e5ac.sh
seatunnel提供了很多数据源jar包,需要下载好,否则会出现无法创建数据源等各种问题;

# 进入到/opt/seatunnel/apache-seatunnel-web-1.0.0-bin/bin下
cd /opt/seatunnel/apache-seatunnel-web-1.0.0-bin/bin

# 创建download_datasource.sh
vim download_datasource.sh

# 将上面脚本地址中的内容复制到 download_datasource.sh 中

# 授权
chmod 755 vim download_datasource.sh

# 执行下载
sh download_datasource.sh

等待下载完成即可

配置datasource开头的jar包

# 将seatunnel的jar依赖拷贝到web的libs下
 cp /opt/seatunnel/apache-seatunnel-2.3.3/lib/connector-*.jar /opt/seatunnel/apache-seatunnel-web-1.0.0-bin/libs

启动web服务

sudo sh /opt/seatunnel/apache-seatunnel-web-1.0.0-bin/bin/seatunnel-backend-daemon.sh start

访问web端

访问地址:http://hadoop102:8801/
域名需根据自己实际情况替换,端口默认8801 ,用户名密码默认admin/admin
file

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

SeaTunnel
65 声望15 粉丝

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