Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sync #1

Merged
merged 42 commits into from
Jul 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
5876605
[Improve] Remove Pipes and Improve Readme (#99)
EricJoy2048 Aug 16, 2023
f0d899b
[feature] switcher use spi and sqlserver channel update (#104)
XiaoJiang521 Aug 22, 2023
76ae1d7
[feature] channel update get tables and add filter by name and size (…
XiaoJiang521 Aug 23, 2023
af5a42d
[feature] add button update and delete (#106)
XiaoJiang521 Aug 23, 2023
ce11d26
[feature] add transform sql interface (#102)
XiaoJiang521 Aug 24, 2023
9e0d674
[Hotfix] Fix convert virtual table of kafka to table field error (#101)
kim-up Aug 24, 2023
c214dd0
[Improve] Remove "incubator" msg. (#103)
FlechazoW Aug 24, 2023
f3b8f64
[feature] add st web basedir path (#108)
XiaoJiang521 Aug 25, 2023
8780674
[feature] datatype convtor and switcher and add hive (#107)
XiaoJiang521 Aug 25, 2023
3ba81e7
[Improve] Optimize project code structure (#109)
EricJoy2048 Aug 26, 2023
093eed3
change default build profile to ci (#111)
EricJoy2048 Aug 28, 2023
2e32ef0
[bugfix] Job instance history repeat (#114)
XiaoJiang521 Sep 6, 2023
3d767c9
[feature][bugfix] Update Job Metrics And Add Banner And Fix Kafka Vul…
XiaoJiang521 Sep 12, 2023
b04429c
[bugfix] engine data type get type for lower (#115)
XiaoJiang521 Sep 12, 2023
3d6f94b
[bugfix] remove tidb because 2.3.3-tidb-no data type convertor (#116)
XiaoJiang521 Sep 12, 2023
c0fd580
[FixBug][seatunnel-web]Fix delete datasource (#117)
zhibinF Sep 14, 2023
b1fba9e
[FixBug][seatunnel-web]Fix delete job task (#118)
zhibinF Sep 14, 2023
7b36aeb
[bugfix] seatunnel task is not exist ,job status error bug (#119)
XiaoJiang521 Sep 15, 2023
037d9a2
[Improve] Fix the typo of "Metrics", and fix the npe when jobStatus i…
FlechazoW Sep 15, 2023
287c234
[Improve] Optimize the code, add a specific Result type. (#121)
FlechazoW Sep 15, 2023
647556d
[Improve] Remove useless dependencies. (#123)
FlechazoW Sep 19, 2023
013022d
[Hotfix] Added SQL query to insert records in seatunnel.role table (#…
112khanhamza Oct 7, 2023
b915550
[License] Add front License (#112)
EricJoy2048 Oct 8, 2023
03751eb
[Hotfix] fix release error
EricJoy2048 Oct 9, 2023
1ffcbe0
[Hotfix] Fix pom style (#127)
EricJoy2048 Oct 10, 2023
07817a4
[Hotfix]Fix release src problem (#130)
EricJoy2048 Oct 11, 2023
627655d
[Hotfix] Fix dynamic form item show by other item bug (#131)
EricJoy2048 Oct 18, 2023
23594a6
[Improve] Add "download_datasource.sh" for downloading datasource. (#…
FlechazoW Oct 19, 2023
fbb80bf
[Improve] Build images using flexible version parameters. (#135)
FlechazoW Oct 19, 2023
26f08b6
[Improve] When starting, check whether the environment variable "SEAT…
FlechazoW Oct 19, 2023
cfc5870
[bugfix] virtual update datasource (#139)
XiaoJiang521 Oct 26, 2023
8d0c436
[Hotfix][APP] Fix job config file generation path error in windows (#…
dbac Oct 27, 2023
220391a
[Improve][UI] Translate Route Names (#144)
wuchunfu Nov 3, 2023
4c6b067
[feature][datasource] Add Mongodb datasource
XiaoJiang521 Nov 7, 2023
a4f8eeb
fix: update "driver-class-name: com.mysql.cj.jdbc.Driver" for mysql8 …
wachoo Nov 18, 2023
6b57f22
add connector db2 (#159)
haneeshmv Apr 9, 2024
ab477d5
fix ts problems with mvn clean package (#162)
somnmos Jun 12, 2024
4a37ebf
[Fix] Remove secretKey in application.yml (#165)
Hisoka-X Jun 12, 2024
ee30773
[Hotfix] Fix arbitrary file readvulnerability on mysql jdbc (#166)
hailin0 Jun 12, 2024
7392918
[Hotfix] Fix arbitrary file readvulnerability on mysql cdc (#167)
hailin0 Jun 12, 2024
4caea25
[Hotfix] Fix arbitrary file readvulnerability on mysql jdbc(starrocks…
hailin0 Jun 12, 2024
d21707f
Update doc of jwt.secretKey (#169)
Hisoka-X Jun 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ body:
attributes:
label: Search before asking
description: >
Please make sure to search in the [issues](https://github.com/apache/incubator-seatunnel/issues?q=is%3Aissue+label%3A%22bug%22)
Please make sure to search in the [issues](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22bug%22)
first to see whether the same issue was reported already.
options:
- label: >
I had searched in the [issues](https://github.com/apache/incubator-seatunnel/issues?q=is%3Aissue+label%3A%22bug%22) and found
I had searched in the [issues](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22bug%22) and found
no similar issues.
required: true

Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ body:
attributes:
label: Search before asking
description: >
Please make sure to search in the [feature](https://github.com/apache/incubator-seatunnel/issues?q=is%3Aissue+label%3A%22Feature%22) first
Please make sure to search in the [feature](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22Feature%22) first
to see whether the same feature was requested already.
options:
- label: >
I had searched in the [feature](https://github.com/apache/incubator-seatunnel/issues?q=is%3Aissue+label%3A%22Feature%22) and found no
I had searched in the [feature](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22Feature%22) and found no
similar feature requirement.
required: true

Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/umbrella.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ body:
attributes:
label: Search before asking
description: >
Please make sure to search in the [issues](https://github.com/apache/incubator-seatunnel/issues?q=is%3Aissue+label%3A%22bug%22)
Please make sure to search in the [issues](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22bug%22)
first to see whether the same issue was reported already.
options:
- label: >
I had searched in the [issues](https://github.com/apache/incubator-seatunnel/issues?q=is%3Aissue+label%3A%22bug%22) and found
I had searched in the [issues](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22bug%22) and found
no similar issues.
required: true

Expand Down
6 changes: 3 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Feel free to ping committers for the review!

## Contribution Checklist

- Make sure that the pull request corresponds to a [GITHUB issue](https://github.com/apache/incubator-seatunnel/issues).
- Make sure that the pull request corresponds to a [GITHUB issue](https://github.com/apache/seatunnel/issues).

- Name the pull request in the form "[Feature] [component] Title of the pull request", where *Feature* can be replaced by `Hotfix`, `Bug`, etc.

Expand All @@ -24,5 +24,5 @@ Feel free to ping committers for the review!

* [ ] Code changed are covered with tests, or it does not need tests for reason:
* [ ] If any new Jar binary package adding in your PR, please add License Notice according
[New License Guide](https://github.com/apache/incubator-seatunnel/blob/dev/docs/en/contribution/new-license.md)
* [ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs
[New License Guide](https://github.com/apache/seatunnel/blob/dev/docs/en/contribution/new-license.md)
* [ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
2 changes: 1 addition & 1 deletion .github/workflows/backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ jobs:
cache: 'maven'
- name: Install
run: >-
./mvnw -B -q install -DskipTests -P release
./mvnw -B -q install -DskipTests -Prelease
-D"maven.test.skip"=true
-D"maven.javadoc.skip"=true
-D"checkstyle.skip"=true
Expand Down
102 changes: 78 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<img src="https://seatunnel.apache.org/image/logo.png" alt="seatunnel logo" height="200px" align="right" />

[![Backend Workflow](https://github.com/apache/incubator-seatunnel/actions/workflows/backend.yml/badge.svg?branch=dev)](https://github.com/apache/incubator-seatunnel/actions/workflows/backend.yml)
[![Backend Workflow](https://github.com/apache/seatunnel/actions/workflows/backend.yml/badge.svg?branch=dev)](https://github.com/apache/seatunnel/actions/workflows/backend.yml)
[![Slack](https://img.shields.io/badge/slack-%23seatunnel-4f8eba?logo=slack)](https://join.slack.com/t/apacheseatunnel/shared_invite/zt-123jmewxe-RjB_DW3M3gV~xL91pZ0oVQ)
[![Twitter Follow](https://img.shields.io/twitter/follow/ASFSeaTunnel.svg?label=Follow&logo=twitter)](https://twitter.com/ASFSeaTunnel)

Expand All @@ -16,7 +16,7 @@ SeaTunnel was formerly named Waterdrop , and renamed SeaTunnel since October 12,
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](https://github.com/apache/incubator-seatunnel/issues/1947)
Click it if your want to know more about our design. 👉🏻[Design](https://github.com/apache/seatunnel/issues/1947)


## How to start
Expand All @@ -25,28 +25,37 @@ Notice: Some details please refer to the docs/QuickStart.md

### 1 Preparing the Apache SeaTunnel environment

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

If you already have Apache SeaTunnel environment, you can skip this step and go to [Install your SeaTunnel to your local maven repository](#1.2 Install your SeaTunnel to your local maven repository)
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.

Because running SeaTunnel Web must rely on the SeaTunnel, if you do not have a SeaTunnel environment, you need to first install and deploy a SeaTunnel (hereinafter referred to as ST). You need to use the dev branch in the ST repositories.
Don't worry, the next steps will tell you how to correctly install SeaTunnel Zeta Engine Server in different situations.

Reference `https://github.com/apache/seatunnel` to deploy a ST

#### 1.2 Install your SeaTunnel to your local maven repository
### 2 Run SeaTunnel Web in IDEA

If you already have a ST environment which is from ST github dev branch. Make sure the version is 2.3.2-SNAPSHOT in the pom file. then use command './mvnw clean install '-Dmaven.test.skip=true' '-Dcheckstyle.skip=true'' to install ST package into your local maven repository
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.

#### 1.3 Run SeaTunnel in RDEA
**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.**

Reference `https://github.com/apache/seatunnel`
##### 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
* 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" `
* 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.0-SNAPSHOT/`
* Then you can get the installer package in `${Your_code_dir}/seatunnel-dist/target`, For example:`apache-seatunnel-2.3.3-SNAPSHOT-bin.tar.gz`
* Run `tar -zxvf apache-seatunnel-2.3.3-SNAPSHOT-bin.tar.gz` to unzip the installer package.
* Run `cd apache-seatunnel-2.3.3-SNAPSHOT & 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 Run SeaTunnel Web in IDEA
##### 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.

If you want to deploy and run SeaTunnel Web, Please turn to [3 Run SeaTunnel Web In Server](#3 Run SeaTunnel Web In Server)
* 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/2.3.2/start-v2/locally/deployment.
* Run `cd apache-seatunnel-2.3.2 & sh bin/seatunnel-cluster.sh -d` to run the SeaTunnel Zeta Engine Server.

#### 2.1 Init database
#### 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:

Expand All @@ -58,14 +67,27 @@ If you want to deploy and run SeaTunnel Web, Please turn to [3 Run SeaTunnel Web
```
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.2 Config application and Run SeaTunnel Web Backend Server
#### 2.3 Build the project

```shell
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
2. Edit `seatunnel-server/seatunnel-app/src/main/resources/application.yml`, add `jwt.secretKey` value. Eg: SeaTunnel.

![img.png](docs/images/application_config.png)

2. Copy `apache-seatunnel-2.3.3-SNAPSHOT/connectors/plugin-mapping.properties` file to `seatunnel-web/seatunnel-server/seatunnel-app/src/main/resources` dir.
3. 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](docs/images/idea_st_home.png)

2. 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.
Because the data source plugin is dynamically loaded, it is necessary to set relevant environment variables:

![img.png](docs/images/st_web_basedir_path.png)

#### 2.3 Run SeaTunnel Web Front End

Expand All @@ -88,25 +110,54 @@ If there are no issues with the operation, the following information will be dis
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.3-SNAPSHOT-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.

#### 3.1 Build Install Package From Code
* 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/2.3.2/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.3-SNAPSHOT-bin.tar.gz apache-seatunnel-2.3.3-SNAPSHOT`

##### 3.1.3 Deploy SeaTunnel Zeta Server
After 3.1.1 or 3.1.2 you can get an installer package `apache-seatunnel-2.3.3-SNAPSHOT-bin.tar.gz`, Then you can copy it to you server node and deploy reference https://seatunnel.apache.org/docs/seatunnel-engine/deployment.

##### 3.1.4 Deploy SeaTunnel Zeta Client In SeaTunnel Web Run Node
If you use SeaTunnel Web, you need deploy a SeaTunnel Zeta Client in the SeaTunnel Web run Node. **If you run SeaTunnel Zeta Server and SeaTunnel Web in same node, you can skip this step**.

* Copy `apache-seatunnel-2.3.3-SNAPSHOT-bin.tar.gz` to the SeaTunnel Web node and unzip it **in the same path of SeaTunnel Zeta Server node**.
* Set `SEATUNNEL_HOME` to environment variable like SeaTunnel Zeta Server node.
* Config `hazelcast-client.yaml` reference https://seatunnel.apache.org/docs/seatunnel-engine/deployment#6-config-seatunnel-engine-client
* Run `$SEATUNNEL_HOME/bin/seatunnel.sh --config $SEATUNNEL_HOME/config/v2.batch.config.template`, If this job run finished, it indicates successful client deployment.

#### 3.2 Build SeaTunnel Web Install Package From Code

```
cd incubator-seatunnel-web
cd seatunnel-web
sh build.sh code
```

Then you can find the installer package in dir `incubator-seatunnel-web/seatunnel-web-dist/target/apache-seatunnel-web-${project.version}.tar.gz`.
Then you can find the installer package in dir `seatunnel-web/seatunnel-web-dist/target/apache-seatunnel-web-${project.version}.tar.gz`.

#### 3.2 Install
#### 3.3 Install

Copy the `apache-seatunnel-web-${project.version}.tar.gz` to your server node and unzip it.

```shell
tar -zxvf apache-seatunnel-web-${project.version}.tar.gz
```

#### 3.3 Init database
#### 3.4 Init database

1. Edit `apache-seatunnel-web-${project.version}/script/seatunnel_server_env.sh` file, Complete the installed database address, port, username, and password. Here is an example:

Expand All @@ -118,13 +169,16 @@ tar -zxvf apache-seatunnel-web-${project.version}.tar.gz
```
2. Run init shell `sh apache-seatunnel-web-${project.version}/script/init_sql.sh` If there are no errors during operation, it indicates successful initialization.

#### 3.4 Config application and Run SeaTunnel Web Backend Server
#### 3.5 Config application and Run SeaTunnel Web Backend Server

Edit `apache-seatunnel-web-${project.version}/config/application.yml` Fill in the database connection information and DS interface related information in the file.
* Edit `apache-seatunnel-web-${project.version}/conf/application.yml` Fill in the database connection information and DS interface related information in the file.

![image](docs/images/application_config.png)

#### 3.5 Start SeaTunnel Web
* Copy `$SEATUNNEL_HOME/config/hazelcast-client.yaml` to `apache-seatunnel-web-${project.version}/conf/`
* Copy `apache-seatunnel-2.3.3-SNAPSHOT/connectors/plugin-mapping.properties` file to `apache-seatunnel-web-${project.version}/conf/` dir.

#### 3.6 Start SeaTunnel Web

```shell
cd apache-seatunnel-web-${project.version}
Expand Down
Loading