seatunnel-web is a free, open source data engineering & integration project written in Java and released under Apache-2.0. It has 880 GitHub stars, 369 forks and 27 open issues, and was last pushed 8 months ago. On this registry it ranks #36 of 39 tracked projects in Data Engineering & Integration, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is seatunnel-web?

seatunnel-web is an open-source web console for Apache SeaTunnel that manages SeaTunnel job scripts and pushes them to any scheduling system, aimed at data engineering teams building offline and real-time data integration pipelines.

What it is

seatunnel-web is the web console layer of Apache SeaTunnel, distributed under the Apache-2.0 licence and written in Java. SeaTunnel itself is a distributed, high-performance data integration platform for the synchronization and transformation of massive data, covering both offline and real-time workloads; the project was formerly named Waterdrop and was renamed SeaTunnel on October 12, 2021. The web console's stated purpose is narrow and practical: manage SeaTunnel scripts from a browser and push them to any scheduling system, so that pipeline definitions live somewhere a team can see and operate them rather than only on an engineer's laptop.

The concrete problem it solves is script handling and job submission for SeaTunnel. It submits jobs through the SeaTunnel Java Client to a SeaTunnel Zeta Engine service, which means the console does not replace the engine — it sits in front of it. It replaces the manual handling of SeaTunnel job scripts and the ad-hoc wiring that grows around them, and it holds a documented version mapping so a console release is paired with a known engine release.

Key capabilities

  • Web console for managing SeaTunnel job scripts, with the ability to push them to any scheduling system.
  • Job submission through the SeaTunnel Java Client against a SeaTunnel Zeta Engine service.
  • Documented compatibility matrix: console 1.0.3-SNAPSHOT maps to SeaTunnel 2.3.11, console 1.0.2 to 2.3.8, and console 1.0.1 and 1.0.0 to 2.3.3.
  • Uses the ST_WEB_BASEDIR_PATH environment variable to locate the data source shade package, loaded through a custom class loader.
  • Works against the SeaTunnel Zeta Engine, whose server process listens on port 5801.
  • Covers offline and real-time integration, with project topics including data-integration, data-pipeline, etl-framework, and sql-engine.
  • Setup and deployment instructions are provided in docs/QuickStart.md.

Who uses it and how

  • Developers who run SeaTunnel Web from IntelliJ IDEA, which requires a SeaTunnel Zeta Engine Server installed and running on the same machine as the IDE.
  • Operators deploying to a server, where the SeaTunnel Client node that submits the job must share the same operating system and installation directory structure as the SeaTunnel Server node that runs the job.
  • Teams that need script management separated from engine execution, so pipelines can be handed to an existing scheduling system rather than submitted by hand.
  • Environments that must match a specific engine release, since each console version is tied to a named SeaTunnel version.
  • Contributors following the design discussion linked from the project, issue 1947, when extending the console.

Getting started

Build SeaTunnel from source or download the installer package from https://seatunnel.apache.org/download, unzip apache-seatunnel-2.3.11-bin.tar.gz, and start the engine with cd apache-seatunnel-2.3.11 & sh bin/seatunnel-cluster.sh -d; full steps are in docs/QuickStart.md.

How it compares

The provided facts name no comparable or paid products, so there is no licence, self-hosting, or cost-model contrast to draw. Within this registry it stands alone as the web console for Apache SeaTunnel.

When to use it — and when not to

A self-hoster must operate a SeaTunnel Zeta Engine alongside the console, keep the client and server nodes on the same operating system and directory layout, and track the strict console-to-engine version mapping. Teams that want a self-contained tool with no SeaTunnel engine, or that need a hosted option, should not pick this. The README also states that only local builds of SeaTunnel Web and SeaTunnel Zeta Engine are currently supported, which limits how independently the console can be deployed.

project readme (upstream, from github) — read inline

Apache SeaTunnel

seatunnel logo

Backend Workflow Slack Twitter Follow


EN doc

SeaTunnel was formerly named Waterdrop , and renamed SeaTunnel since October 12, 2021.


So, What we are?

An open-source web console to manage your seatunnel-script, and would push them to any scheduling-system easily. Click it if your want to know more about our design. 👉🏻Design

Compatibility

SeaTunnel Web Version SeaTunnel Version Doc
1.0.3-SNAPSHOT 2.3.11 Docs
1.0.2 2.3.8 Docs
1.0.1 2.3.3 Docs
1.0.0 2.3.3 Docs

How to start

Notice: Some details please refer to the docs/QuickStart.md

1 Preparing the Apache SeaTunnel environment

Because SeaTunnel Web uses the SeaTunnel Java Client to submit jobs, running SeaTunnel Web requires preparing a SeaTunnel Zeta Engine service first.

Based on the usage requirements of SeaTunnel Zeta Engine, the SeaTunnel Client node that submits the job must have the same operating system and installation directory structure as the SeaTunnel Server node that runs the job. Therefore, if you want to run SeaTunnel Web in IDEA, you must install and run a SeaTunnel Zeta Engine Server on the same machine as the IDEA.

Don't worry, the next steps will tell you how to correctly install SeaTunnel Zeta Engine Server in different situations.

2 Run SeaTunnel Web in IDEA

If you want to deploy and run SeaTunnel Web, Please turn to [3 Run SeaTunnel Web In Server](#3 Run SeaTunnel Web In Server)

2.1 Install SeaTunnel Zeta Engine Server

You have two ways to get the SeaTunnel installer package. Build from source code or download from the SeaTunnel website.

The SeaTunnel version used here is only for writing this document to show you the process used, and does not necessarily represent the correct version. SeaTunnel Web and SeaTunnel Engine have strict version dependencies, and you can confirm the specific version mapping through xxx. Now only support build SeaTunnel Web and Seatunnel Zeta Engine in local, Because it is necessary to ensure that the seatunnel-api in SeaTunnel Web and the version in SeaTunnel Zeta Engine are the same.

2.1.1 Build from source code and deploy
  • Get the source package from https://seatunnel.apache.org/download or https://github.com/apache/seatunnel.git
  • Please follow Build SeaTunnel From Source Code to build the SeaTunnel.
  • After building, it is necessary to set an environment variable ST_WEB_BASEDIR_PATH to represent the location of the data source shade package. A custom class loader will be used to load the data source shade package based on this. For example: ST_WEB_BASEDIR_PATH=/seatunnel-web-dist/target/apache-seatunnel-web-1.0.3-SNAPSHOT/
  • Then you can get the installer package in ${Your_code_dir}/seatunnel-dist/target, For example:apache-seatunnel-2.3.11-bin.tar.gz
  • Run tar -zxvf apache-seatunnel-2.3.11-bin.tar.gz to unzip the installer package.
  • Run cd apache-seatunnel-2.3.11 & sh bin/seatunnel-cluster.sh -d to run the SeaTunnel Zeta Engine Server.
  • Please confirm that port 5801 is being monitored by the SeaTunnelServer process.
2.1.2 Download installer package and deploy

The other way to install SeaTunnel Zeta Engine Server is download the installer package from https://seatunnel.apache.org/download and deploy.

  • Download and install connector plugin(Some third-party dependency packages will also be automatically downloaded and installed during this process, such as hadoop jar). You can get the step from https://seatunnel.apache.org/docs/start-v2/locally/deployment.
  • Run cd apache-seatunnel-2.3.11 & sh bin/seatunnel-cluster.sh -d to run the SeaTunnel Zeta Engine Server.
2.2 Init database
  1. Edit seatunnel-server/seatunnel-app/src/main/resources/script/seatunnel_server_env.sh file, Complete the installed database address, port, username, and password. Here is an example:

    export HOSTNAME="localhost"
    export PORT="3306"
    export USERNAME="root"
    export PASSWORD="123456"
    
  2. Run init shell sh seatunnel-server/seatunnel-app/src/main/resources/script/init_sql.sh If there are no errors during operation, it indicates successful initialization.

2.3 Build the project
sh build.sh code
2.4 Config application and Run SeaTunnel Web Backend Server
  1. Edit seatunnel-server/seatunnel-app/src/main/resources/application.yml Fill in the database connection information img.png
  2. Edit seatunnel-server/seatunnel-app/src/main/resources/application.yml, add jwt.secretKey value. Eg: https://github.com/apache/seatunnel(Notice that cannot be too short).
  3. Copy apache-seatunnel-2.3.11/connectors/plugin-mapping.properties file to seatunnel-web/seatunnel-server/seatunnel-app/src/main/resources dir.
  4. Run seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/SeatunnelApplication.java If there are no errors reported, the seatunnel web backend service is successfully started. Notice that, you must set -DSEATUNNEL_HOME=${your_seatunnel_install_path} like this:

img.png

Because the data source plugin is dynamically loaded, it is necessary to set relevant environment variables:

img.png

2.3 Run SeaTunnel Web Front End
cd seatunnel-ui
npm install
npm run dev

If there are no issues with the operation, the following information will be displayed:

  ➜  Local:   http://127.0.0.1:5173/
  ➜  Network: use --host to expose
  ➜  press h to show help

Accessing in a browser http://127.0.0.1:5173/login Okay, the default username and password are admin/admin.

3 Run SeaTunnel Web In Server

To run SeaTunnel Web on the server, you need to first have a SeaTunnel Zeta Engine Server environment. If you do not already have one, you can refer to the following steps for deployment.

3.1 Deploy SeaTunnel Zeta Engine Server In Server Node

You have two ways to get the SeaTunnel installer package. Build from source code or download from the SeaTunnel website.

The SeaTunnel version used here is only for writing this document to show you the process used, and does not necessarily represent the correct version. SeaTunnel Web and SeaTunnel Engine have strict version dependencies, and you can confirm the specific version mapping through xxx

3.1.1 Build from source code
  • Get the source package from https://seatunnel.apache.org/download or https://github.com/apache/seatunnel.git
  • Build installer package use maven command ./mvnw -U -T 1C clean install -DskipTests -D"maven.test.skip"=true -D"maven.javadoc.skip"=true -D"checkstyle.skip"=true -D"license.skipAddThirdParty"
  • Then you can get the installer package in ${Your_code_dir}/seatunnel-dist/target, For example:apache-seatunnel-2.3.11-bin.tar.gz
3.1.2 Download installer package

The other way to get SeaTunnel Zeta Engine Server installer package is download the installer package from https://seatunnel.apache.org/download and install plugins online.

  • Download and install connector plugin(Some third-party dependency packages will also be automatically downloaded and installed during this process, such as hadoop jar). You can get the step from https://seatunnel.apache.org/docs/start-v2/locally/deployment.
  • After completing the previous step, you will receive an installation package that can be used to install SeaTunnel Zeta Engine Server on the server. Run tar -zcvf apache-seatunnel-2.3.11-bin.tar.gz apache-seatunnel-2.3.11
3.1.3 Deploy SeaTunnel Zeta Server

After 3.1.1 or 3.1.2 you can get an i

readme truncated — read the full docs on github

Frequently asked questions

Is seatunnel-web free to use?

seatunnel-web is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does seatunnel-web do?

SeaTunnel is a distributed, high-performance data integration platform for the synchronization and transformation of massive data (offline & real-time).

What is seatunnel-web written in?

seatunnel-web is primarily written in Java. Its source is publicly available at https://github.com/apache/seatunnel-web, and it has 880 GitHub stars.