版本说明
由于作者目前接触当前最新版本为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
SeaTunnel-web下载
https://seatunnel.apache.org/download 和SeaTunnel在相同的页面,往下拉,最下面有下载地址:
安装SeaTunnel
上传压缩包
将下载的压缩包上传到指定目录下
# 在opt下创建seatunnel文件夹
mkdir /opt/seatunnel
# 用rz命令或shell工具上传即可
解压
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中下载,
将 ${SEATUNNEL_HOME}/mvnw 替换为 mvn
保存后退出
修改后:
jar包将下载下载到connectors/seatunnel这个目录下; 执行下载命令
sh bin/install-plugin.sh
看到是从阿里云下载的,等待下载完成即可
下载完成后将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安装成功
启动服务
# 后台启动服务
nohup sh bin/seatunnel-cluster.sh 2>&1 &
查看日志,打印如下日志即成功运行:
安装SeaTunnel-Web
解压安装包
tar -zxvf apache-seatunnel-web-1.0.0-bin.tar.gz
初始化数据库
数据库脚本在/opt/seatunnel/apache-seatunnel-web-1.0.0-bin/script
这个文件夹下,由于我Mysql是使用Docker安装,在宿主机无法执行命令,因此无法直接在服务器端安装,所以我将Seatunnel_server_mysql.sql
拷贝到本地,通过客户端导入脚本 执行成功:
修改数据连接配置文件
vim conf/application.yml
下图中更改成对应实际数据库服务的信息:
配置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
配置数据源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
本文由 白鲸开源科技 提供发布支持!