1.概述
seatunnel 是一个实现数据库同步的执行引擎,但是他需要用户自己编写 同步定义文件。如果是一次执行需要使用命令执行同步,如果是集群部署,需要用户提交同步定义文件.
seatunnel web 的作用:
- 通过在线设计同步文件
- 将设计提交到 seatunnel 执行
2.开发模式运行seatunnel
2.1 开发环境要求
Apache Maven 3.6.3
JDK 8
NODE 16.16.0
NPM 8.19.2
2.1 下载代码
2.1.1 下载 seatunnel-web
https://seatunnel.apache.org/zh-CN/docs/2.3.12/about
下载地址
https://github.com/apache/seatunnel-web
这里我们下载主分支,主分支其实还是说一个 快照版本,他的依赖 seatunnel 的版本 是 2.3.11 不是最新的2.3.12 这个需要注意。
2.1.2 下载 安装 执行 seatunnel
- 这里需要下载 2.3.11

- 执行下载插件命令
修改install-plugin.cmd
修改这个文件的目的是加快下载的速度
在 seatunnel 目录下 增加 .mvn\maven\settings.xml 文件

文件内容为:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
</settings>
for /f "usebackq delims=" %%a in ("%SEATUNNEL_HOME%\config\plugin_config") do (
set "line=%%a"
setlocal enabledelayedexpansion
if "!line:~0,1!" neq "-" if "!line:~0,1!" neq "#" (
echo install connector : !line!
call "%SEATUNNEL_HOME%\mvnw.cmd" -s "%SEATUNNEL_HOME%\.mvn\maven\settings.xml" dependency:get -Dtransitive=false -DgroupId="org.apache.seatunnel" -DartifactId="!line!" -Dversion="%version%" -Ddest="%SEATUNNEL_HOME%\connectors"
)
endlocal
)
增加配置 -s "%SEATUNNEL_HOME%\.mvn\maven\settings.xml"
执行安装插件命令
install-plugin.cmd 2.3.11
插件很多,需要等一段时间。
- 增加mysql 驱动程序

- 启动seatunnel
在bin下执行
seatunnel-cluster.cmd -d
2.2 在IDEA 中打开项目

2.2.1 初始化数据库
数据库脚本 路径
src/main/resources/script/seatunnel_server_mysql.sql

在mysql下执行这个脚本

2.2.2 修改 application.yml

2.2.3 拷贝文件
从 seatunnel 目录拷贝 hazelcast-client.yaml 文件

到

拷贝

到

目录下
2.2.4 对项目进行编译
在项目根目录下执行命令
build code 对项目进行编译
2.2.5 启动后端

需要配置环境变量

环境变量为:

| 环境变量 | 说明 |
|---|---|
| SEATUNNEL_HOME | seatunnel 的根目录 |
| ST_WEB_BASEDIR_PATH | 这个是mven 编译后产生的发布版本目录 |

这个作用是如果配置了这个变量在使用web 程序的时候才能找到数据源。
在IDEA启动

如果报以下错误

需要先启动 seatunnel ,可以看 2.1.2 节
2.2.6 启动前端
进入到这个目录

在目录下执行 npm run dev

浙公网安备 33010602011771号