【安装部署】Apache SeaTunnel 和 Web快速安装详解

devtools/2024/11/13 5:17:17/

版本说明

由于作者目前接触当前最新版本为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 执行成功: file

修改数据连接配置文件

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 file

配置数据源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

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


http://www.ppmy.cn/devtools/4270.html

相关文章

【智能家居入门2】(MQTT协议、微信小程序、STM32、ONENET云平台)

此篇智能家居入门与前两篇类似,但是是使用MQTT协议接入ONENET云平台,实现微信小程序与下位机的通信,这里相较于使用http协议的那两篇博客,在主程序中添加了独立看门狗防止程序卡死和服务器掉线问题。后续还有使用MQTT协议连接MQTT…

Day13-C++基础之文件操作

文件操作 #include<iostream> #include<fstream> #include<string> using namespace std; ​ class Person{ public:char m_Name[64];int m_Age; }; ​ int main(){//文本文件操作 ​//写文件//1.包含头文件 fstream//2.创建流对象ofstream ofs;//3.指定打开…

Rust常见陷阱 | 线程间传递消息导致主线程无法结束

在多线程编程中,线程之间的通信是一个不可或缺的话题。尤其是在Rust语言中,由于其特有的所有权机制,线程通信需要更加仔细地处理。本文将深入讨论使用Rust标准库中的消息通道时如何避免主线程被阻塞的问题,并提供详尽的代码示例来辅助理解。 问题描述 当我们在Rust中使用…

Stable Diffusion本地部署教程

SEO元描述: 本教程将向您详细介绍如何在本地部署Stable Diffusion&#xff0c;以增强隐私、性能并控制您的AI生成艺术项目&#xff0c;包括必要的提示和最佳实践。 引言&#xff1a;Stable Diffusion简介 Stable Diffusion已经革新了数字艺术创作&#xff0c;使用户能够根据文…

webrtc c++ native 获取local sdp流程

webrtc c native 获取local sdp流程 一、初始化线程 rtc::WinsockInitializer winsock_init;rtc::Win32SocketServer w32_ss;rtc::Win32Thread w32_thread(&w32_ss);rtc::ThreadManager::Instance()->SetCurrentThread(&w32_thread);二、创建peer_connection_facto…

12. MyBatis(二)

源码位置&#xff1a;MyBatis_demo 上篇文章我们学习了MyBatis的定义以及增删查改操作&#xff0c;并且学习了如何在xml文件中编写SQL时使用#{}的方式将参数和对象的属性映射到SQL语句中&#xff0c;上篇的内容已经足以应对大部分场景&#xff0c;本篇文章我们就要学习一下MyBa…

Axios(对AJAX封装和简化)

目录 1、怎样使用 引入Axios的js文件 使用Axios发送请求并获取响应结果 get请求 post请求 2、参数 3、回调函数 4、请求方法别名 Axios对Ajax进行了封装&#xff0c;可以简化书写。官网是 https://www.axios-http.cn。 1、怎样使用 引入Axios的js文件 <script src&…

c++IO

前言 大家好&#xff0c;我是jiantaoyab&#xff0c;本篇文章给大家介绍c中文件操作。 先回忆一下c语言文件操作 void Test_c_bin() {//二进制写ServerInfo info { "127.0.0.1", 8080 };FILE* fout fopen("test.bin", "wb");fwrite(&in…