SeaTunnel Web安装 一把成
安装相关jar包,以及SeaTunnel 和Web 打成的包,可以直接使用,但是需要安装MySQL客户端的分享:
链接:https://pan.baidu.com/s/1qrt1RAX38SgIpNklbQJ7pA
提取码:0kmf
1. 环境准备
| 环境名称 | 版本 |
| 系统环境 | CentOS7.9 |
| Java环境 | JDK1.8 |
1.1 系统环境
略
1.2 Java环境安装
下载jdk1.8安装包并拷贝到服务器
# 进入文件夹
cd /usr/local
# 将jdk拷贝到该位置
# 解压文件
tar -zxvf jdk-8u381-linux-x64.tar.gz
修改环境变量
vim /etc/profile
在环境变量中添加Java环境
export JAVA_HOME=/usr/local/jdk1.8.0_381/
export CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
重新加载环境变量
source /etc/profile
验证Java环境
java -version
1.3 SeaTunnel单节点安装
下载安装包
下载地址:
Apache SeaTunnel
下载SeaTunnel安装包

下载SeaTunnel Web安装包

创建安装SeaTunnel 目录
# 创建用于安装SeaTunnel 后台引擎的目录
mkdir -p /opt/seatunnel/backend
# 创建用户安装SeaTunnel Web前台页面的目录
mkdir -p /opt/seatunnel/web
拷贝并安装SeaTunnel
# 进入到SeaTunnel 后台安装目录,将下载好的安装包拷贝到该目录
[root@localhost backend]# pwd
/opt/seatunnel/backend
[root@localhost backend]# ls
apache-seatunnel-2.3.3-bin.tar.gz
# 安装SeaTunnel 后台
tar -zxvf apache-seatunnel-2.3.3-bin.tar.gz# 进入到SeaTunnel Web页面程序安装目录,将下载号的安装包拷贝到该目录
[root@localhost web]# pwd
/opt/seatunnel/web
[root@localhost web]# ls
apache-seatunnel-web-1.0.0-bin.tar.gz
# 安装SeaTunnel Web页面程序
tar -zxvf apache-seatunnel-web-1.0.0-bin.tar.gz
将SeaTunnel 后台配置到环境变量中
# 打开环境变量文件
vim /etc/profile# 在环境变量文件最后添加如下配置
export SEATUNNEL_HOME=/opt/seatunnel/backend/apache-seatunnel-2.3.3
export PATH=$PATH:$SEATUNNEL_HOME/bin# 重新加载环境变量文件
source /etc/profile
安装需要的连接器
# 进入到seatunnel 安装目录下
[root@localhost seatunnel]# cd apache-seatunnel-2.3.3
# 进入到插件配置文件中
[root@localhost apache-seatunnel-2.3.3]# vim config/plugin_config
# 删除多余连接器,留下需要用到的连接器
--connectors-v2--
connector-cdc-mysql
connector-cdc-sqlserver
connector-doris
connector-elasticsearch
connector-jdbc
--end--
# 退出保存连接器配置文件
:qw
# 在线安装拦截器
[root@localhost apache-seatunnel-2.3.3]# sh bin/install-plugin.sh
# 等待安装,安装完成后可查看已经安装的连接器
[root@localhost apache-seatunnel-2.3.3]# ls connectors/seatunnel/*
connectors/seatunnel/connector-cdc-mysql-2.3.3.jar
connectors/seatunnel/connector-cdc-sqlserver-2.3.3.jar
connectors/seatunnel/connector-console-2.3.3.jar
connectors/seatunnel/connector-doris-2.3.3.jar
connectors/seatunnel/connector-elasticsearch-2.3.3.jar
connectors/seatunnel/connector-fake-2.3.3.jar
connectors/seatunnel/connector-jdbc-2.3.3.jar
注意:
connector-jdbc 连接器可以连接多种使用JDBC进行连接的多种数据库,如下:
| MySQL、PostgreSQL、DM、Phoenix 、SQLServer、Oracle、sqlite、GBase8a、StarRocks、db2、saphana、Doris、teradata、Redshift、Snowflake、Vertica、OceanBase |
拷贝需要的数据库连接jar包
# 进入SeaTunnel 后台安装目录
cd /opt/seatunnel/backend/apache-seatunnel-2.3.3
# 创建连接器对应的目录,用于存放数据库连接驱动
[root@localhost apache-seatunnel-2.3.3]# mkdir -p plugins/jdbc/lib/
# 将下载的数据库连接包上传到该目录下
[root@localhost lib]# pwd
/opt/seatunnel/backend/apache-seatunnel-2.3.3/plugins/jdbc/lib
[root@localhost lib]# ls
mysql-connector-java-8.0.28.jar ojdbc8.jar postgresql-42.6.0.jar
数据库连接包下载地址:
| 数据库 | 下载地址 |
| mysql | https://mvnrepository.com/artifact/mysql/mysql-connector-java |
| oracle | https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8 |
| postgresql | https://mvnrepository.com/artifact/org.postgresql/postgresql |
| doris | https://mvnrepository.com/artifact/mysql/mysql-connector-java |
测试验证
# 进入SeaTunnel 后台安装目录
cd /opt/seatunnel/backend/apache-seatunnel-2.3.3
# 跑样例脚本
sh bin/seatunnel.sh --config config/v2.batch.config.template -e local
出现以下信息表示验证成功



后台启用服务
# 进入SeaTunnel 后台安装目录
cd /opt/seatunnel/backend/apache-seatunnel-2.3.3
# 启动服务
nohup sh bin/seatunnel-cluster.sh 2>&1 &
查看SeaTunnel 运行日志
# 查看SeaTunnel运行日志
tail -100f logs/seatunnel-engine-server.log
日志中有以下信息表示后台启动成功

1.4 安装SeaTunnel Web
注意:必须保证SeaTunnel的后台引擎服务正常运行,Web端才可以正常运行。
安装MySQL客户端
因为SeaTunnel Web 需要连接到MySQL数据库,并初始化数据库,所以需要安装MySQL Client。
# 先检查服务器中是否存在mariadb
rpm -qa|grep mariadb
#删除相关依赖包(若不存在,可以跳过)
rpm -e --nodeps mariadb-libs
#检查是否删除干净
rpm -qa|grep mariadb
# 检查MySQL
rpm -qa|grep mysql# 创建一个目录用于存放MySQL Client 安装文件
mkdir -p /opt/mysqlrpm
# 将安装包拷贝到该目录下
[root@localhost mysqlrpm]# pwd
/opt/mysqlrpm
[root@localhost mysqlrpm]# ls
lrzsz-0.12.20-36.el7.x86_64.rpm
mysql-community-client-5.7.40-1.el7.x86_64.rpm
mysql-community-common-5.7.40-1.el7.x86_64.rpm
mysql-community-libs-5.7.40-1.el7.x86_64.rpm
# 安装lrzsz
rpm -ivh lrzsz-0.12.20-36.el7.x86_64.rpm
# 按照顺序安装MySQL Client
rpm -ivh mysql-community-common-5.7.40-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.40-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.40-1.el7.x86_64.rpm
修改SeaTunnel Web 下script/seatunnel_server_env.sh中连接数据库信息
# 进入到SeaTunnel Web 安装目录
cd /opt/seatunnel/web/apache-seatunnel-web-1.0.0-bin
# 备份script/seatunnel_server_env.sh文件
cp script/seatunnel_server_env.sh script/seatunnel_server_env.sh.bak
# 修改script/seatunnel_server_env.sh文件
vim script/seatunnel_server_env.sh
# 修改以下配置信息
export HOSTNAME="127.0.0.1"
export PORT="3306"
export USERNAME="root"
export PASSWORD="123456"
# 修改如下,加上了前缀,以防与系统中其它配置冲突
# 将数据库连接信息修改成你要链接的信息
export STWEB_HOSTNAME="127.0.0.1"
export STWEB_PORT="3306"
export STWEB_USERNAME="root"
export STWEB_PASSWORD="123456"
修改SeaTunnel Web 下script/init_sql.sh 中连接数据库信息
vim script/init_sql.sh
主要是保证里边的${XXXXX}的配置信息与script/seatunnel_server_env.sh中的保持一致。

执行数据库初始化脚本
# 进入SeaTunnel Web 安装目录
cd /opt/seatunnel/web/apache-seatunnel-web-1.0.0-bin
# 执行初始化文件
sh script/init_sql.sh
修改SeaTunnel Web 连接MySQL数据库的配置信息
# 进入SeaTunnel Web 安装目录
cd /opt/seatunnel/web/apache-seatunnel-web-1.0.0-bin
# 打开SeaTunnel Web 配置文件
vim conf/application.yml
# 修改以下部分配置:端口号,MySQL连接IP,MySQL用户名和密码
server:#port: 8801port: 8882spring:application:name: seatunneljackson:date-format: yyyy-MM-dd HH:mm:ssdatasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.1.111:3306/seatunnel?useSSL=false&useUnicode=true&characterEnc
oding=utf-8&allowMultiQueries=true&allowPublicKeyRetrieval=true username: rootpassword: 123456
配置client信息
# 将seatunnel后台的两个文件拷贝到web的conf目录下
cp /opt/seatunnel/backend/apache-seatunnel-2.3.3/config/hazelcast-client.yaml conf/
cp /opt/seatunnel/backend/apache-seatunnel-2.3.3/connectors/plugin-mapping.properties conf/
下载Web程序需要的数据源(数据源需要的各种jar包)
这里在各种jar包,如果缺失的话,在Web页面创建数据源时会出现空数据源的情况。
下载jar包
首先你自己的电脑上安装了github

下载jar包额度脚本
我是在我电脑的D盘根目录下,创建了download_datasource.sh文件,文件内容如下:
有两处需要修改,请看注释。
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
##This script is used to download the connector plug-ins required during the running process.
#All are downloaded by default. You can also choose what you need.
#You only need to configure the plug-in name in config/plugin_config.# get seatunnel web home
# SEATUNNEL_WEB_HOME=$(cd $(dirname $0);cd ../;pwd)
# 此处需要修改成你本地的目录
DATASOURCE_DIR=D:/down_jars# If you don’t want to download a certain data source, you can delete the element below
datasource_list=("datasource-plugins-api""datasource-elasticsearch""datasource-hive""datasource-jdbc-clickhouse""datasource-jdbc-hive""datasource-jdbc-mysql""datasource-jdbc-oracle""datasource-jdbc-postgresql""datasource-jdbc-redshift""datasource-jdbc-sqlserver""datasource-jdbc-starrocks""datasource-jdbc-tidb""datasource-kafka""datasource-mysql-cdc""datasource-s3""datasource-sqlserver-cdc""datasource-starrocks"
)# the datasource default version is 1.0.0, you can also choose a custom version. eg: 1.1.2: sh install-datasource.sh 2.1.2
version=1.0.0if [ -n "$1" ]; thenversion="$1"
fiecho "Downloading SeaTunnel Web Datasource lib, usage version is ${version}"# create the datasource directory
if [ ! -d "$DATASOURCE_DIR" ];thenmkdir -p "$DATASOURCE_DIR"echo "Created datasource directory."
fifor i in "${datasource_list[@]}"
doecho "$i"echo "Downloading datasource: " "$i"
# 修改成mvnmvn dependency:get -DgroupId=org.apache.seatunnel -DartifactId="$i" -Dversion="$version" -Ddest="$DATASOURCE_DIR"
done
之后在download_datasource.sh目录下点击鼠标右键,选择Git Bash Here

之后在打开的页面执行 sh download_datasource.sh 点击回车,等待下载完成。

之后将下载下来的包,拷贝到SeaTunnel Web 程序的 /libs目录下。
将MySQL Jar 包拷贝到libs目录下
将mysql连接数据库的Jar 拷贝到 /libs 目录下,否则Web程序启动时会报错,连不上数据库。
启动SeaTunnel Web 程序
# 进入SeaTunnel Web 安装目录
cd /opt/seatunnel/web/apache-seatunnel-web-1.0.0-bin
# 启动SeaTunnel Web
sh bin/seatunnel-backend-daemon.sh start
# 查看启动日志
tail -100f logs/seatunnel-web.log
配置开放端口号(两种方式)
#-------------iptables-----------------
#开打端口号开放配置文件
vim /etc/sysconfig/iptables
# 添加一行
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8882 -j ACCEPT
# 重启启动防火墙
systemctl restart iptables.service
#------------firewall-------------------
# 依次执行下面命令
firewall-cmd --zone=public --add-port=8882/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all
查看日志文件
访问SeaTunnel Web
http://192.168.182.166:8882
默认用户名密码:admin/admin

到此为止SeaTunnel 与SeaTunnel Web 已经安装完成。
相关文章:
SeaTunnel Web安装 一把成
安装相关jar包,以及SeaTunnel 和Web 打成的包,可以直接使用,但是需要安装MySQL客户端的分享: 链接:https://pan.baidu.com/s/1qrt1RAX38SgIpNklbQJ7pA 提取码:0kmf 1. 环境准备 环境名称版本系统环境C…...
对话泛能网程路:能源产业互联网,行至中程
泛能网的能源产业互联网的标杆价值还不仅于此。其在产业互联之外,也更大的特殊性在于其也更在成为整个碳市场的“辅助运营商”,包括电力、碳等一系列被泛能网帮助企业改造和沉淀的要素资产,都在构成着碳交易市场的未来底层。 这恰是产业互联…...
Doris简介及单机部署(超详细)
文章目录 一、Doris简介1、Doris介绍2、Doris架构 二、Doris单机部署(Centos7.9)1、下载Doris2、准备环境3、安装部署3.1 创建存储目录3.2 配置 FE3.3 启动 FE3.4 查看 FE 运行状态3.5 配置 BE3.6 启动 BE3.7 添加 BE 节点到集群3.8 查看 BE 运行状态3.9…...
Pytest 识别case规则
一、Python测试框架,主要特点有以下几点: 简单灵活,容易上手;支持参数化;能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytestrequests…...
gorm+mysql查询/修改json列相关操作汇总
目录 具体操作 1,查询JSON段落指定key的值是否有等于value的 或 指定keyvalue的数据记录 2,查询JSON段落中price>19的记录 3,查询JSON段中key为k0的记录 4、JSON段落中提取指定键值对到指定结构 5,查询JSON数组是否包含…...
CMake-Cookbook 第0章 配置环境
文章目录 第0章 配置环境0.1 获取代码0.2 Docker镜像0.3 安装必要的软件0.3.1 获取CMake0.3.2 编译器0.3.3 自动化构建工具0.3.4 Python0.3.5 依赖软件0.3.5.1 BLAS和LAPACk0.3.5.2 消息传递接口(MPI)0.3.5.3 线性代数模板库0.3.5.4 Boost库0.3.5.5 交叉编译器0.3.5.6 ZeroMQ, …...
优质硬盘检测工具SMART Utility,保障您的Mac数据安全
在日常使用Mac电脑的过程中,我们经常会存储大量的重要数据,如照片、文档、视频等。然而,硬盘故障却是一件令人头疼的事情,可能会导致数据丢失、系统崩溃等严重后果。为了保障您的数据安全,我们推荐一款专业的硬盘检测工…...
Spring: alibaba代码规范校验工具checkstyle
文章目录 一、idea配置checkstyle插件二、激活CheckStyle三、配置自动格式化功能四、使用代码格式化 一、idea配置checkstyle插件 下载 Intellij IDEA Checkstyle 插件:File -> setting -> plugin通过关键字CheckStyle-IDEA搜索并安装。 安裝完成后重启idea…...
c++线程thread示例
本文章记录c创建线程,启动线程和结束线程的代码。 需要注意,编译时需要添加-lpthread依赖。 代码: ThreadTest.h #ifndef TEST_THREAD_TEST_H #define TEST_THREAD_TEST_H#include <thread> #include <mutex>class ThreadTes…...
Compose | UI组件(十一) | Spacer - 留白
文章目录 前言Spacer组件的参数说明Spacer组件的使用 总结 前言 Spacer组件是让两组件之间留有空白间隔 Spacer组件的参数说明 Spacer只有一个修饰符,修饰留空白的大小和比例,颜色 Spacer(modifier: Modifier)Spacer组件的使用 Row {Box(modifier M…...
PyTorch的nn.Module类的详细介绍
在PyTorch中,nn.Module 类是构建神经网络模型的基础类,所有自定义的层、模块或整个神经网络架构都需要继承自这个类。nn.Module 类提供了一系列属性和方法用于管理网络的结构和训练过程中的计算。 1. PyTorch中nn.Module基类的定义 在PyTorch中ÿ…...
python使用activemq库ActiveMQClient类的连接activemq并订阅、发送和接收消息
引入activemq模块:from activemq import ActiveMQClient from activemq import ActiveMQClient 是一个Python的导入语句,它从activemq模块中导入了ActiveMQClient类。 解释一下各个部分: from activemq: 这表示我们正在从一个名为activemq…...
【Flutter 面试题】Dart是什么?Dart和Flutter有什么关系?
【Flutter 面试题】Dart是什么?Dart和Flutter有什么关系? 文章目录 写在前面Dart是什么Dart和Flutter有什么关系? 写在前面 👏🏻 正在学 Flutter 的同学,你好! 😊 本专栏是解决 Fl…...
前后台分离跨域交互
后台处理跨域 安装插件 >: pip install django-cors-headers插件参考地址:https://github.com/ottoyiu/django-cors-headers/项目配置:dev.py # 注册app INSTALLED_APPS [...corsheaders, ]# 添加中间件 MIDDLEWARE [...corsheaders.middleware.…...
React16源码: React中处理LegacyContext相关的源码实现
LegacyContext 老的 contextAPI 也就是我们使用 childContextTypes 这种声明方式来从父节点为它的子树提供 context 内容的这么一种方式遗留的contextAPI 在 react 17 被彻底移除了,就无法使用了那么为什么要彻底移除这个contextAPI的使用方式呢?因为它…...
Boost.Test资源及示例
Note:boost_1_84_0的动态连接库资源链接 1.代码组织如下图: 2.包括程序入口的代码文件 示例: // M24.01.MyTestModule.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h" #define BOOST_TEST_MODULE MYTESTMODULE #def…...
数据结构二叉树
二叉树是数据结构中的一个基本概念,它是每个节点最多有两个子节点的树结构。在二叉树中,每个节点通常有两个指针,分别指向左子节点和右子节点。 数据结构定义 在二叉树的节点中,通常包含以下信息: 数据域࿱…...
JavaScript继承与原型链
继承和原型链是什么? 1.1 在继承中,子类继承父类的特征和行为,使得子类对象具有父类的实例域和方法。这意味着子类可以使用父类的方法和属性,使用继承的目的是为了更好设置实例的公共属性和方法,如下例子: …...
SouthLeetCode-打卡24年01月第4周
SouthLeetCode-打卡24年01月第4周 // Date : 2024/01/22 ~ 2024/01/28 022.设计链表 - 双链表 (1) 题目描述 022#LeetCode.707.#北岸计划2024/01/22 (2) 题解代码 import java.util.List;class ListNode {int val;ListNode prev;ListNode next;ListNode(){this.val 0;th…...
Linux——磁盘和文件系统(一)
Linux——磁盘和文件系统 磁盘机械式磁盘固态硬盘 机械式磁盘结构磁盘,磁道,扇区柱面 文件系统的初始化划卷(划盘) 挂载C盘放了什么东西Boot Block(启动模块) 0号组放了什么东西Super Block(超级…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
c++第七天 继承与派生2
这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
