You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampark.apache.org by be...@apache.org on 2025/02/14 12:38:30 UTC
(streampark-website) branch dev updated: [Improve] Enhanced Getting Started and Documentation Updates (#425)
This is an automated email from the ASF dual-hosted git repository.
benjobs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampark-website.git
The following commit(s) were added to refs/heads/dev by this push:
new 995e1b9a [Improve] Enhanced Getting Started and Documentation Updates (#425)
995e1b9a is described below
commit 995e1b9ad5f132c2ba516529d4690f086ac21db3
Author: 阿甘兄 <11...@users.noreply.github.com>
AuthorDate: Fri Feb 14 20:38:25 2025 +0800
[Improve] Enhanced Getting Started and Documentation Updates (#425)
* [Feature] Added quick-start document.
* [Feature] Added installation document.
* [Improve] Quick start document improvements.
* [Feature] Added installation-docker document.
* [Feature] Added upgrades document.
* [Feature] Added introduction document.
* [Refactor] Removed old documents.
* [Fix] Fixed i18n issues.
* [improvements] Quick start improvements.
* [Improve] Removed download image.
---
docs/components/TableData.jsx | 117 ++++++-
docs/components/data.js | 23 ++
docs/get-started/1.intro.md | 57 ----
docs/get-started/1.introduction.md | 72 +++++
docs/get-started/2.deployment.md | 231 -------------
docs/get-started/2.quickStart.md | 109 +++++++
docs/get-started/3.dockerDeployment.md | 211 ------------
docs/get-started/3.installation.md | 215 ++++++++++++
docs/get-started/4.installationDocker.md | 122 +++++++
docs/get-started/4.platformBasicUsage.md | 346 --------------------
docs/get-started/5.upgrades.md | 98 ++++++
docs/get-started/_category_.json | 2 +-
docusaurus.config.js | 2 +-
.../docusaurus-plugin-content-docs/current.json | 4 +-
.../current/components/TableData.jsx | 117 ++++++-
.../current/components/data.js | 22 ++
.../current/get-started/1.intro.md | 56 ----
.../current/get-started/1.introduction.md | 74 +++++
.../current/get-started/2.deployment.md | 212 ------------
.../current/get-started/2.quickStart.md | 114 +++++++
.../current/get-started/3.dockerDeployment.md | 213 ------------
.../current/get-started/3.installation.md | 222 +++++++++++++
.../current/get-started/4.installationDocker.md | 113 +++++++
.../current/get-started/4.platformBasicUsage.md | 359 ---------------------
.../current/get-started/5.upgrades.md | 96 ++++++
static/doc/image/quick-start/cicd.png | Bin 0 -> 30332 bytes
static/doc/image/quick-start/connectors.png | Bin 0 -> 13267 bytes
.../doc/image/quick-start/docker_build_success.png | Bin 0 -> 20403 bytes
.../doc/image/quick-start/docker_start_success.png | Bin 0 -> 25325 bytes
static/doc/image/quick-start/flink_cluster.png | Bin 0 -> 185946 bytes
static/doc/image/quick-start/flink_home.png | Bin 0 -> 368520 bytes
static/doc/image/quick-start/job_config.png | Bin 0 -> 228106 bytes
static/doc/image/quick-start/job_config_detail.png | Bin 0 -> 311800 bytes
static/doc/image/quick-start/job_detail.png | Bin 0 -> 272554 bytes
static/doc/image/quick-start/job_release.png | Bin 0 -> 229408 bytes
static/doc/image/quick-start/job_start.png | Bin 0 -> 230006 bytes
static/doc/image/quick-start/job_start_success.png | Bin 0 -> 241539 bytes
static/doc/image/quick-start/login_page.png | Bin 0 -> 3599851 bytes
static/doc/image/quick-start/login_success.png | Bin 0 -> 139174 bytes
static/doc/image/quick-start/mutiple_version.png | Bin 0 -> 32151 bytes
static/doc/image/quick-start/one_key_install.png | Bin 0 -> 150110 bytes
static/doc/image/quick-start/setting_center.png | Bin 0 -> 155892 bytes
static/doc/image/quick-start/startup_success.png | Bin 0 -> 43913 bytes
43 files changed, 1516 insertions(+), 1691 deletions(-)
diff --git a/docs/components/TableData.jsx b/docs/components/TableData.jsx
index 0c47035f..c9f0149c 100644
--- a/docs/components/TableData.jsx
+++ b/docs/components/TableData.jsx
@@ -409,6 +409,118 @@ const DevelopmentEnvs = () => {
);
};
+const QuickStartEnvs = () => {
+ return (
+
+ <div>
+ <table className="table-data" style={{width: '100%', display: 'inline-table'}}>
+ <thead>
+ <tr>
+ <td>Material</td>
+ <td>Version Requirement</td>
+ <td>Demo Version (For Reference Only)</td>
+ </tr>
+ </thead>
+ <tbody>
+ {
+ dataSource.QuickStartEnvs.map((item, i) => (
+ <tr key={i}>
+ <td>
+ <span className="label-info">{item.name}</span>
+ </td>
+ <td>{item.version}</td>
+ <td>{item.other}</td>
+ </tr>
+ ))
+ }
+ </tbody>
+ </table>
+ </div>
+
+ );
+};
+
+const InstallationEnvs = () => {
+ return (
+
+ <div>
+ <table className="table-data" style={{width: '100%', display: 'inline-table'}}>
+ <thead>
+ <tr>
+ <td>Item</td>
+ <td>Version</td>
+ <td>Required</td>
+ <td>Other</td>
+ </tr>
+ </thead>
+ <tbody>
+ {
+ dataSource.installationEnvs.map((item, i) => (
+ <tr key={i}>
+ <td>
+ <span className="label-info">{item.name}</span>
+ </td>
+ <td>{item.version}</td>
+ <td>
+ {
+ item.required
+ ?
+ <span className="icon-toggle-on" title="必须"></span>
+ :
+ <span className="icon-toggle-off" title="可选"></span>
+ }
+ </td>
+ <td>{item.other}</td>
+ </tr>
+ ))
+ }
+ </tbody>
+ </table>
+ </div>
+
+ );
+};
+
+const DockerInstallationEnvs = () => {
+ return (
+
+ <div>
+ <table className="table-data" style={{width: '100%', display: 'inline-table'}}>
+ <thead>
+ <tr>
+ <td>Item</td>
+ <td>Version</td>
+ <td>Required</td>
+ <td>Other</td>
+ </tr>
+ </thead>
+ <tbody>
+ {
+ dataSource.dockerInstallationEnvs.map((item, i) => (
+ <tr key={i}>
+ <td>
+ <span className="label-info">{item.name}</span>
+ </td>
+ <td>{item.version}</td>
+ <td>
+ {
+ item.required
+ ?
+ <span className="icon-toggle-on" title="必须"></span>
+ :
+ <span className="icon-toggle-off" title="可选"></span>
+ }
+ </td>
+ <td>{item.other}</td>
+ </tr>
+ ))
+ }
+ </tbody>
+ </table>
+ </div>
+
+ );
+};
export {
ClientOption,
@@ -421,5 +533,8 @@ export {
ClientFailureRate,
ClientTables,
DevelopmentEnvs,
- DeploymentEnvs
+ DeploymentEnvs,
+ QuickStartEnvs,
+ InstallationEnvs,
+ DockerInstallationEnvs
};
diff --git a/docs/components/data.js b/docs/components/data.js
index c0c095df..3736bf49 100644
--- a/docs/components/data.js
+++ b/docs/components/data.js
@@ -112,4 +112,27 @@ export default {
{name: 'MySQL', version: '5.6 +', required: false, other: null},
{name: 'Hadoop', version: '2 +', required: false, other: 'Optional, If on yarn, hadoop envs is required.'},
],
+
+ QuickStartEnvs: [
+ {name: 'Operating System', version: 'Linux/MacOS', other: 'MacOS'},
+ {name: 'Java', version: 'JDK version >=1.8', other: '1.8.0_362'},
+ {name: 'Scala', version: 'Scala version >=2.12', other: '2.12.18'},
+ {name: 'Flink', version: 'Flink version >= 1.12', other: '1.19.0'},
+ {name: 'StreamPark Package', version: 'Any version', other: '2.1.5'},
+ ],
+
+ installationEnvs: [
+ {name: 'Operating System', version: 'Linux/MacOS', required: true, other: 'Windows is not supported'},
+ {name: 'Java', version: '1.8+', required: true, other: 'Java version >=1.8'},
+ {name: 'Scala', version: '2.12+', required: true, other: 'Scala version >=2.12'},
+ {name: 'Database', version: 'MySQL: 5.6+, Postgresql: 9.6+', required: false, other: 'Defaults to H2 database, supports MySQL and Postgresql'},
+ {name: 'Flink', version: '1.12+', required: false, other: 'Minimum supported Flink version is 1.12'},
+ {name: 'Hadoop', version: '2+', required: false, other: 'Optional, required for YARN deployment'},
+ {name: 'Kubernetes', version: '1.16+', required: false, other: 'Optional, required for Kubernetes deployment'}
+ ],
+
+ dockerInstallationEnvs: [
+ {name: 'Docker', version: '1.13.1+', required: true, other: 'Docker version must be at least 1.13.1'},
+ {name: 'Docker Compose', version: '1.28.0+', required: true, other: 'Docker Compose version must be at least 1.28.0'},
+ ],
}
diff --git a/docs/get-started/1.intro.md b/docs/get-started/1.intro.md
deleted file mode 100644
index 24ea6346..00000000
--- a/docs/get-started/1.intro.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: 'intro'
-title: 'What is Apache StreamPark™'
-sidebar_position: 1
----
-
-# Apache StreamPark™
-
-Make stream processing easier!
-
-## 🚀 What is Apache StreamPark™
-
-Apache StreamPark™ is a streaming application development framework that provides a development framework for developing stream processing application with Apache Flink® and Apache Spark™, Also, StreamPark is a professional management platform for streaming application, Its core capabilities include application development, debugging, deployment, operation, etc. Drastically simplifies streaming apps’ development and operations, enabling enterprises to derive immediate insight from their [...]
-
-## Why Apache StreamPark™?
-
-Apache Flink® and Apache Spark™ are widely used as the next generation of big data streaming computing engines. Based on a foundation of excellent experiences combined with best practices, we extracted the task deployment and runtime parameters into the configuration files. This way, an easy-to-use RuntimeContext with out-of-the-box connectors can bring an easier and more efficient task development experience. It reduces the learning cost and development barriers so developers can focus [...]
-
-However, enterprises may struggle to use Apache Flink® and Apache Spark™ without a professional management platform for Flink and Spark tasks during the deployment phase. StreamPark offers a professional task management platform to address this need.
-
-## 🎉 Features
-
-* Easy-to-use Apache Flink® and Apache Spark™ application development framework
-* One-stop stream processing operation platform
-* Support multiple versions of Apache Flink® & Apache Spark™
-* Out-of-the-box connectors
-* Support catalog、olap、streaming-warehouse etc.
-
-## 🏳🌈 Architecture of Apache StreamPark™
-
-The overall architecture of Apache StreamPark is shown in the following figure. Apache StreamPark has two parts, `streampark-core` and `streampark-console`.
-
-
-
-### 1. streampark-core
-
-`streampark-core` is a framework used during development. It supports coding development, regulates configuration files, and follows the 'convention over configuration' principle. `streampark-core` provides development-time Runtime Content and a series of out-of-the-box Connectors. Cumbersome operations are simplified by extending DataStream-related methods and integrating DataStream and the Flink SQL API. This improves development efficiency and developer experience because users can fo [...]
-
-### 2. streampark-console
-
-`streampark-console` is a comprehensive real-time Low Code data platform that can manage Flink tasks more convenient. It integrates the experience of many best practices and integrates many functions such as project compilation, release, parameter configuration, startup, savepoint, Flink SQL, monitoring, etc., which greatly simplifies the daily operation of Flink tasks and maintenance. The ultimate goal is to create a one-stop big data platform, which can provide a solution that integrat [...]
-
-This platform uses technologies including, but not limited to:
-
-* [Apache Flink](http://flink.apache.org)
-* [Apache Spark™](http://spark.apache.org)
-* [Apache YARN](http://hadoop.apache.org)
-* [Spring Boot](https://spring.io/projects/spring-boot/)
-* [Mybatis](http://www.mybatis.org)
-* [Mybatis-Plus](http://mp.baomidou.com)
-* [Vue](https://cn.vuejs.org/)
-* [VuePress](https://vuepress.vuejs.org/)
-* [Ant Design of Vue](https://antdv.com/)
-* [ANTD PRO VUE](https://pro.antdv)
-* [Monaco Editor](https://microsoft.github.io/monaco-editor/)
-
-Thanks for the support and inspiration given by the above excellent open source projects and many other excellent open source projects not mentioned here!
diff --git a/docs/get-started/1.introduction.md b/docs/get-started/1.introduction.md
new file mode 100644
index 00000000..f1d4eb5d
--- /dev/null
+++ b/docs/get-started/1.introduction.md
@@ -0,0 +1,72 @@
+---
+id: 'introduction'
+title: 'Introduction'
+sidebar_position: 1
+---
+# What is Apache StreamPark™?
+🚀 **A magical framework that makes stream processing simpler!**
+
+> In the realm of real-time processing, Apache Spark™ and Apache Flink® represent significant advancements, especially Flink, which is widely considered the next-generation big data stream processing engine. Through our experience with Apache Flink® and Apache Spark™, we discovered many parts of the programming model, startup configurations, and operation management that could be abstracted and shared. We solidified some of these excellent experiences and combined them with industry best [...]
+
+
+
+**`Apache StreamPark™` is an all-in-one stream processing platform**. It standardizes project configurations, encourages functional programming, defines the best programming practices, and provides a series of out-of-the-box connectors. It standardizes the entire process from configuration, development, testing, deployment, monitoring, to operation and maintenance. It offers both Scala and Java interfaces and provides a one-stop platform for stream processing job development and manageme [...]
+
+## Core Features
+
+<h6> 🎉 Application Development Scaffold</h6>
+
+**Apache StreamPark™** provides an easy-to-use development framework that enables developers to efficiently build stream processing applications. It <u>**supports multiple versions**</u> of Apache Flink® and Apache Spark™, lowering the learning cost and development threshold, and allowing developers to focus on core business logic.
+
+
+
+<h6> 🎉 Out-of-the-box Connectors</h6>
+
+**Apache StreamPark™** offers a series of <u>**out-of-the-box**</u> connectors that simplify integration with various data sources and destinations. These connectors make data acquisition and processing more efficient, supporting various data scenarios.
+
+
+
+<h6> 🎉 One-stop Stream Processing Operations Platform</h6>
+
+As an all-in-one stream processing operations platform, **Apache StreamPark™** <u>**integrates development, debugging, deployment, and operational management functions**</u>. It provides a low-code platform via `streampark-console`, making it easier for users to manage Flink tasks and simplifying operations such as project compilation, publishing, and parameter configuration.
+
+
+
+<h6> 🎉 Supports Various Scenarios</h6>
+
+**Apache StreamPark™** supports a variety of application scenarios, including Catalog, OLAP, and Streaming Warehouse. This enables users to flexibly apply Apache StreamPark™ to meet the needs of real-time data analysis and processing.
+
+<h6> 🎉 ...</h6>
+
+## Architecture Design
+🏳🌈 The core of **Apache StreamPark™** consists of `StreamPark Core` and `StreamPark Console`:
+
+
+
+### StreamPark Core
+
+**StreamPark Core** is positioned as a development framework focused on coding. It standardizes configuration files and adopts a "convention over configuration" approach to development. It provides a development environment's `RuntimeContext` and a series of out-of-the-box connectors, extending methods related to `DataStream`. It integrates `DataStream` and Flink SQL API, simplifying operations, focusing on business logic, and improving development efficiency and experience.
+
+### StreamPark Console
+
+**StreamPark Console** is a platform that integrates real-time data processing with low-code development. It efficiently manages Flink tasks and integrates functions like project compilation, publishing, parameter configuration, startup, savepoints, flame graphs, Flink SQL, and monitoring. It greatly simplifies the daily operation and maintenance of Flink tasks, incorporating many best practices. The platform enables projects, which were previously only accessible to large companies, to [...]
+
+- · [Apache Flink](http://flink.apache.org)
+- · [Apache Spark](http://spark.apache.org)
+- · [Apache YARN](http://hadoop.apache.org)
+- · [Spring Boot](https://spring.io/projects/spring-boot/)
+- · [Mybatis](http://www.mybatis.org)
+- · [Mybatis-Plus](http://mp.baomidou.com)
+- · [Vue](https://cn.vuejs.org/)
+- · [VuePress](https://vuepress.vuejs.org/)
+- · [Ant Design of Vue](https://antdv.com/)
+- · [ANTD PRO VUE](https://pro.antdv)
+- · [xterm.js](https://xtermjs.org/)
+- · [Monaco Editor](https://microsoft.github.io/monaco-editor/)
+- · ...
+
+Special thanks to these and many other excellent open-source projects, with the utmost respect!
+
+---
+
+Feel free to use this directly! Let me know if you'd like to tweak anything further.
\ No newline at end of file
diff --git a/docs/get-started/2.deployment.md b/docs/get-started/2.deployment.md
deleted file mode 100755
index 7fd83851..00000000
--- a/docs/get-started/2.deployment.md
+++ /dev/null
@@ -1,231 +0,0 @@
----
-id: 'deployment'
-title: 'Platform Deployment'
-sidebar_position: 2
----
-
-import { DeploymentEnvs } from '../components/TableData.jsx';
-
-The overall component stack structure of StreamPark consists of two major parts: streampark-core and streampark-console.
-
-streampark-console is positioned as an integrated, real-time data platform, streaming data warehouse Platform, Low Code, Apache Flink® & Apache Spark™ task hosting platform. It can manage Flink tasks better, and integrate project compilation, publishing, parameter configuration, startup, savepoint, flame graph, Flink SQL, monitoring and many other functions, which greatly simplifies the daily operation and maintenance of Flink tasks and integrates many best practices.
-
-The goal is to create a one-stop big data solution that integrates real-time data warehouses and batches.
-
-
-
-streampark-console provides an out-of-the-box installation package. Before installation, make sure these requirements for the environment are in place:
-
-## Environmental requirements
-
-<DeploymentEnvs></DeploymentEnvs>
-
-StreamPark has released tasks for Flink, and supports both `Flink on YARN` and `Flink on Kubernetes` modes.
-
-### Hadoop
-To use `Flink on YARN`, install and configure Hadoop-related environment variables in the deployed cluster. For example, if you installed the hadoop environment based on CDH, related environment variables can refer to the following configuration:
-
-```shell
-export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop #hadoop installation manual
-export HADOOP_CONF_DIR=/etc/hadoop/conf
-export HIVE_HOME=$HADOOP_HOME/../hive
-export HBASE_HOME=$HADOOP_HOME/../hbase
-export HADOOP_HDFS_HOME=$HADOOP_HOME/../hadoop-hdfs
-export HADOOP_MAPRED_HOME=$HADOOP_HOME/../hadoop-mapreduce
-export HADOOP_YARN_HOME=$HADOOP_HOME/../hadoop-yarn
-```
-
-### Kubernetes
-
-Using `Flink on Kubernetes` requires additional deployment or use of an existing Kubernetes cluster. Refer to the entry: [**StreamPark Flink-K8s Integration Support**](../platform/10-hadoop-resource-integration.md)
-
-## Build & Deploy
-
-You can directly download the compiled [**release package**](https://github.com/apache/streampark/releases) (recommended), or you can manually compile and install. The manual compilation and installation steps are as follows:
-
-
-### Environmental requirements
-
-- Maven 3.6+
-- npm 7.11.2 ( https://nodejs.org/en/ )
-- pnpm (npm install -g pnpm)
-- JDK 1.8+
-
-### install streampark
-
-[download](https://streampark.apache.org/download) streampark release package, unpacking it as follows:
-
-```textmate
-.
-streampark-console-service-2.0.0
-├── bin
-│ ├── startup.sh //startup script
-│ ├── setclasspath.sh //Scripts related to Java environment variables (internal use, users do not need to pay attention)
-│ ├── shutdown.sh //stop script
-│ ├── yaml.sh //Internally uses a script that parses yaml parameters (for internal use, users don't need to pay attention)
-├── conf
-│ ├── application.yaml //Project configuration file (do NOT change the name)
-│ ├── flink-application.template //flink configuration template (for internal use, users don't need to pay attention)
-│ ├── logback-spring.xml //logback
-│ └── ...
-├── lib
-│ └── *.jar //Project jar package
-├── client
-│ └── streampark-flink-sqlclient-2.0.0.jar //Flink SQl submit related functions (for internal use, users do not need to pay attention)
-├── script
-│ ├── schema
-│ │ ├── mysql-schema.sql // mysql ddl
-│ │ └── pgsql-schema.sql // pgsql ddl
-│ ├── data
-│ │ ├── mysql-data.sql // mysql init data
-│ │ └── pgsql-data.sql // pgsql init data
-│ ├── upgrade
-│ │ ├── 1.2.3.sql // 1.2.3 upgrade sql
-│ │ └── 2.0.0.sql // 2.0.0 upgrade sql
-│ │ ...
-├── logs // log dir
-├── temp // temp dir, don't remove
-```
-
-
-##### Initialize table structure
-
-In the installation process of versions before 1.2.1, there is no need to manually initialize data. Just set the database information, and some column operations such as table creation and data initialization will be automatically completed. For versions 1.2.1 and newer, automatic table creation and upgrade requires the user to manually execute ddl for initialization. The ddl description is as follows:
-
-```textmate
-├── script
-│ ├── schema
-│ │ ├── mysql-schema.sql // mysql ddl
-│ │ └── pgsql-schema.sql // pgsql ddl
-│ ├── data
-│ │ ├── mysql-data.sql // mysql init data
-│ │ └── pgsql-data.sql // pgsql init data
-│ ├── upgrade
-│ │ ├── 1.2.3.sql // 1.2.3 upgrade sql
-│ │ └── 2.0.0.sql // 2.0.0 upgrade sql
-│ │ ...
-├── logs // log dir
-├── temp // temp dir, don't remove
-```
-For the first installation of streampark, you need to connect to the corresponding database client to execute the scripts under the `schema` and `data` directories in sequence. If it is an upgrade, execute under `upgrade` sql file of the corresponding version number.
-
-##### Modify the configuration
-Once installation and unpacking have been completed, the next step is to prepare the data-related work.
-
-###### Create a new database `streampark`
-Make sure to create a new database `streampark` in mysql that the deployment machine can connect to.
-
-###### Modify connection information
-Go to `conf`, modify `conf/application.yml`, find the `spring` item, find the `profiles.active` configuration, and modify it to the corresponding information, as follows:
-
-```yaml
-spring:
- profiles.active: mysql #[h2,pgsql,mysql]
- application.name: StreamPark
- devtools.restart.enabled: false
- mvc.pathmatch.matching-strategy: ant_path_matcher
- servlet:
- multipart:
- enabled: true
- max-file-size: 500MB
- max-request-size: 500MB
- aop.proxy-target-class: true
- messages.encoding: utf-8
- jackson:
- date-format: yyyy-MM-dd HH:mm:ss
- time-zone: GMT+8
- main:
- allow-circular-references: true
- banner-mode: off
-```
-
-After you have modified `conf/application.yml`, modify `config/application-mysql.yml` to change the config information of the database as follows:
-
-**Tips: Because of license incompatibility between the Apache project and the mysql jdbc driver, download the mysql jdbc driver yourself and put it in $STREAMPARK_HOME/lib**.
-
-```yaml
-spring:
- datasource:
- username: root
- password: xxxx
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://localhost:3306/streampark?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
-```
-
-###### Modify workspace
-Go to `conf`, `modify conf/application.yml`, find the item `streampark`, find the workspace configuration, and change it to a directory that the user has permissions to work with.
-
-```yaml
-streampark:
- # HADOOP_USER_NAME If it is on yarn mode ( yarn-prejob | yarn-application | yarn-session), you need to configure hadoop-user-name
- hadoop-user-name: hdfs
- # Local workspace, used to store project source code, build directory, etc.
- workspace:
- local: /opt/streampark_workspace # A local workspace directory (very important). Users can change the directory by themselves, it is recommended to put it in other places separately to store the project source code, the built directory, etc.
- remote: hdfs:///streampark # support hdfs:///streampark/ 、 /streampark 、hdfs://host:ip/streampark/
-```
-
-##### Start
-
-Enter `bin` and directly execute `startup.sh` to start the project. The default port is **10000**. If there is no error, it will start successfully
-
-```bash
-cd streampark-console-service-2.0.0/bin
-bash startup.sh
-```
-Relevant logs will be output to **streampark-console-service-1.0.0/logs/streampark.out**
-
-
-### login system
-
-After the above steps, even if the deployment is completed, you can directly log in to the system:
-
-
-
-:::tip hint
-Default password: **admin / streampark**
-:::
-
-## System Configuration
-
-After you enter the system, the first thing to do is to modify the system configuration. Under the menu/StreamPark/Setting, the operation interface is as follows:
-
-
-
-The main configuration items are divided into the following categories:
-
-<div class="counter">
-
-- System Setting
-- Alert Setting
-- Flink Home
-- Flink Cluster
-
-</div>
-
-### System Settings
-The current system configuration includes:
-
-- Maven Settings
-- Docker Settings
-- Sender Email Settings
-- Ingress Settings
-
-### Alert Settings
-
-The configuration related to Alert Email is to configure the information for the sender's email. For the specific configuration, refer to the relevant mailbox information and documents.
-
-### Flink Home
-The global Flink Home is configured here. This is the only place in the system where you specify the Flink environment, which will apply to all jobs.
-
-:::info hint
-Special Note: The minimum supported Flink version is 1.12.0, and later versions are supported.
-:::
-
-### Flink Cluster
-The cluster modes currently supported by Flink include:
-
-- Standalone
-- Yarn Session
-- Kubernetes Session
-
diff --git a/docs/get-started/2.quickStart.md b/docs/get-started/2.quickStart.md
new file mode 100644
index 00000000..597bc7a7
--- /dev/null
+++ b/docs/get-started/2.quickStart.md
@@ -0,0 +1,109 @@
+---
+id: 'quick-start'
+title: 'Quick Start'
+sidebar_position: 2
+---
+
+import { QuickStartEnvs } from '../components/TableData.jsx';
+
+> To quickly get started with StreamPark, you can either **install and deploy with one click** or **install and deploy manually**.
+
+## 1. One-Click Installation
+To install StreamPark with one click, simply copy the following command:
+```shell
+curl -L https://streampark.apache.org/quickstart.sh | sh
+```
+If you see the following message, it means the installation and deployment were successful:
+
+
+:::note Note
+The script has already installed StreamPark and the Flink cluster for you. You can log in directly to start jobs.
+:::
+After logging in, click "Start" to begin the default job.
+> Login URL: <u><font color='blue'>[http://127.0.0.1:8081](http://127.0.0.1:8081)</font></u>, login credentials: `admin` / `streampark`
+
+
+## 2. Manual Installation
+
+Follow these three steps to quickly get started with StreamPark:
+- **Step 1**: Environment Setup
+- **Step 2**: StreamPark Installation
+- **Step 3**: Deploy Job
+
+### 2.1 Environment Setup
+
+<QuickStartEnvs></QuickStartEnvs>
+
+**Note**: The default user should already have JDK and Scala installed locally.
+
+### 2.2 StreamPark Installation
+First, download the latest version of StreamPark from the official website. The version used in this article is <u><font color='blue'>[2.1.5](https://www.apache.org/dyn/closer.lua/incubator/streampark/2.1.5/apache-streampark_2.12-2.1.5-incubating-bin.tar.gz?action=download)</font></u>, download link: <u><font color='blue'>[https://streampark.apache.org/download](https://streampark.apache.org/download/)</font></u>
+
+After downloading, extract it to a local directory and navigate to the `bin` directory to start StreamPark. The relevant scripts are as follows:
+```shell
+# Extract the StreamPark installation package.
+tar -zxvf apache-streampark_2.12-2.1.5-incubating-bin.tar.gz
+
+# Start StreamPark.
+cd apache-streampark_2.12-2.1.5-incubating-bin/bin
+./startup.sh
+```
+After a successful start, the interface will look like this:
+
+
+Log in to StreamPark at: [http://127.0.0.1:10000](http://127.0.0.1:10000)
+
+:::tip Tip
+Username and password: admin/streampark
+:::
+
+
+
+### 2.3 Deploy Job
+After logging into the system for the first time, you will notice that a default FlinkSQL job has already been created. To better demonstrate, this article uses the Standalone mode to run the job. Before doing that, you need to configure the Flink version and associate the Flink cluster.
+
+#### 2.3.1 Configure Flink Version
+:::caution Caution
+The Flink installation package must be on the same server as the StreamPark service.
+:::
+
+First, configure the Flink version by specifying the path to your local Flink extraction directory. Follow these steps: **Settings Center → Flink Version → New**
+
+
+
+#### 2.3.2 Configure Flink Cluster
+:::note Note
+Ensure that your local Flink cluster is already started (just navigate to the Flink extraction directory’s `bin` directory and run `./start-cluster.sh`).
+:::
+
+Associate the Flink cluster by clicking: **Settings Center → Flink Cluster → Add**
+
+
+#### 2.3.3 Configure Job
+Click on Job Configuration to enter the job configuration page:
+
+
+Simply modify the deployment mode, Flink version, and Flink cluster, then save it:
+
+
+Click "Release":
+
+
+Start the job:
+
+
+The page after a successful start looks like this:
+
+
+You can also go to the details page to view job details:
+
+
+Other features are not demonstrated here, but are worth exploring...
+
+## 3. Possible Issues
+If you encounter the following error:
+:::danger Warning
+ERROR: streampark.workspace.local: "/tmp/streampark" is an invalid path, please reconfigure in ...
+:::
+
+You may need to directly create the `streampark` folder in the `/tmp` directory of your system or configure the `streampark.workspace.local` property in the `/conf/config.yaml` file with a valid temporary directory path.
diff --git a/docs/get-started/3.dockerDeployment.md b/docs/get-started/3.dockerDeployment.md
deleted file mode 100644
index cd224f7a..00000000
--- a/docs/get-started/3.dockerDeployment.md
+++ /dev/null
@@ -1,211 +0,0 @@
----
-id: 'docker-deployment'
-title: 'Platform Deployment using Docker'
-sidebar_position: 3
----
-
-This tutorial for docker deploy StreamPark
-
-## Prepare
- Docker 1.13.1+
- Docker Compose 1.28.0+
-
-### 1. Install docker
-
-To start the service with docker, you need to install [docker](https://www.docker.com/) first
-
-### 2. Install docker-compose
-
-To start the service with docker-compose, you need to install [docker-compose](https://docs.docker.com/compose/install/) first
-
-## Apache StreamPark™ Deployment
-
-### 1. Apache StreamPark™ deployment based on h2 and docker-compose
-
-This method is suitable for beginners to learn and become familiar with the features. The configuration will reset after the container is restarted. Below, you can configure Mysql or Pgsql for persistence.
-
-### 2. Deployment
-
-```shell
-wget https://raw.githubusercontent.com/apache/streampark/dev/docker/docker-compose.yaml
-wget https://raw.githubusercontent.com/apache/streampark/dev/docker/.env
-docker-compose up -d
-```
-
-Once the service is started, StreamPark can be accessed through http://localhost:10000 and also through http://localhost:8081 to access Flink. Accessing the StreamPark link will redirect you to the login page, where the default user and password for StreamPark are admin and streampark respectively. To learn more about the operation, please refer to the user manual for a quick start.
-
-### 3. Configure flink home
-
-
-
-### 4. Configure flink-session cluster
-
-
-
-Note:When configuring the flink-sessin cluster address, the ip address is not localhost, but the host network ip, which can be obtained through ifconfig
-
-### 5. Submit flink job
-
-
-
-#### Use existing Mysql services
-This approach is suitable for enterprise production, where you can quickly deploy StreamPark based on docker and associate it with an online database
-Note: The diversity of deployment support is maintained through the .env configuration file, make sure there is one and only one .env file in the directory
-
-```shell
-wget https://raw.githubusercontent.com/apache/streampark/dev/deploy/docker/docker-compose.yaml
-wget https://raw.githubusercontent.com/apache/streampark/dev/deploy/docker/mysql/.env
-vim .env
-```
-
-First, you need to create the "streampark" database in MySQL, and then manually execute the corresponding SQL found in the schema and data for the relevant data source.
-
-After that, modify the corresponding connection information.
-
-```shell
-SPRING_PROFILES_ACTIVE=mysql
-SPRING_DATASOURCE_URL=jdbc:mysql://localhost:3306/streampark?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
-SPRING_DATASOURCE_USERNAME=root
-SPRING_DATASOURCE_PASSWORD=streampark
-```
-
-```
-docker-compose up -d
-```
-#### Use existing Pgsql services
-
-```shell
-wget https://raw.githubusercontent.com/apache/streampark/dev/deploy/docker/docker-compose.yaml
-wget https://raw.githubusercontent.com/apache/streampark/dev/deploy/docker/pgsql/.env
-vim .env
-```
-Modify the corresponding connection information
-
-```shell
-SPRING_PROFILES_ACTIVE=pgsql
-SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/streampark?stringtype=unspecified
-SPRING_DATASOURCE_USERNAME=postgres
-SPRING_DATASOURCE_PASSWORD=streampark
-```
-
-```shell
-docker-compose up -d
-```
-
-## Build images based on source code for Apache StreamPark™ deployment
-```
-git clone https://github.com/apache/streampark.git
-cd streampark/deploy/docker
-vim docker-compose
-```
-
-```shell
- build:
- context: ../..
- dockerfile: deploy/docker/console/Dockerfile
-# image: ${HUB}:${TAG}
-```
-
-
-```shell
-docker-compose up -d
-```
-
-## Docker-Compse Configuration
-
-The docker-compose.yaml file will reference the configuration from the env file, and the modified configuration is as follows:
-
-```yaml
-version: '3.8'
-services:
- ## streampark-console container
- streampark-console:
- ## streampark image
- image: apache/streampark:latest
- ## streampark image startup command
- command: ${
- RUN_COMMAND}
- ports:
- - 10000:10000
- ## Environment configuration file
- env_file: .env
- environment:
- ## Declare environment variable
- HADOOP_HOME: ${
- HADOOP_HOME}
- volumes:
- - flink:/streampark/flink/${
- FLINK}
- - /var/run/docker.sock:/var/run/docker.sock
- - /etc/hosts:/etc/hosts:ro
- - ~/.kube:/root/.kube:ro
- privileged: true
- restart: unless-stopped
- networks:
- - streampark
-
- ## flink-jobmanager container
- flink-jobmanager:
- image: ${
- FLINK_IMAGE}
- ports:
- - "8081:8081"
- command: jobmanager
- volumes:
- - flink:/opt/flink
- env_file: .env
- restart: unless-stopped
- privileged: true
- networks:
- - streampark
-
- ## streampark-taskmanager container
- flink-taskmanager:
- image: ${
- FLINK_IMAGE}
- depends_on:
- - flink-jobmanager
- command: taskmanager
- deploy:
- replicas: 1
- env_file: .env
- restart: unless-stopped
- privileged: true
- networks:
- - streampark
-
-networks:
- streampark:
- driver: bridge
-
-volumes:
- flink:
-```
-
-Finally, execute the start command:
-
-```shell
-cd deploy/docker
-docker-compose up -d
-```
-
-You can use `docker ps` to check if the installation was successful. If the following information is displayed, it indicates a successful installation:
-
-
-
-## Uploading Configuration to the Container
-
-In the previous `env` file, `HADOOP_HOME` was declared, with the corresponding directory being "/streampark/hadoop". Therefore, you need to upload the `/etc/hadoop` from the Hadoop installation package to the `/streampark/hadoop` directory. The commands are as follows:
-
-```shell
-## Upload Hadoop resources
-docker cp entire etc directory streampark-docker_streampark-console_1:/streampark/hadoop
-## Enter the container
-docker exec -it streampark-docker_streampark-console_1 bash
-## Check
-ls
-```
-
-
-
-In addition, other configuration files, such as Maven's `settings.xml` file, are uploaded in the same manner.
diff --git a/docs/get-started/3.installation.md b/docs/get-started/3.installation.md
new file mode 100644
index 00000000..dd3f29c0
--- /dev/null
+++ b/docs/get-started/3.installation.md
@@ -0,0 +1,215 @@
+---
+id: 'installation'
+title: 'Installation'
+sidebar_position: 3
+---
+
+import { InstallationEnvs } from '../components/TableData.jsx';
+
+## 1. Preparation
+
+To successfully install StreamPark, the following environments need to be prepared:
+
+<InstallationEnvs></InstallationEnvs>
+
+## 2. Download
+
+You can download the latest version of StreamPark directly from the official website. The version used in this document is <u><font color='blue'>[2.1.5](https://www.apache.org/dyn/closer.lua/incubator/streampark/2.1.5/apache-streampark_2.12-2.1.5-incubating-bin.tar.gz?action=download)</font></u>, available at: <u><font color='blue'>[https://streampark.apache.org/download](https://streampark.apache.org/download/)</font></u>
+
+After the download is complete, extract the package:
+```shell
+# Extract the StreamPark installation package.
+tar -zxvf apache-streampark_2.12-2.1.5-incubating-bin.tar.gz
+```
+The extracted directory will look like this:
+```textmate
+├── bin
+│ ├── startup.sh // Startup script
+│ ├── shutdown.sh // Shutdown script
+│ └── ......
+├── conf
+│ ├── config.yaml // Project configuration file
+│ └── logback-spring.xml // Logging configuration file
+├── lib
+│ └── *.jar // Project JAR files
+├── logs // Log directory
+├── script
+│ ├── data
+│ │ ├── mysql-data.sql // MySQL DDL SQL scripts
+│ │ └── pgsql-data.sql // PostgreSQL DDL SQL scripts
+│ ├── schema
+│ │ ├── mysql-schema.sql // MySQL full initialization data
+│ │ └── pgsql-schema.sql // PostgreSQL full initialization data
+│ └── upgrade
+│ ├── mysql
+│ │ ├── 1.2.3.sql // SQL script for upgrading to version 1.2.3
+│ │ ├── 2.0.0.sql // SQL script for upgrading to version 2.0.0
+│ │ ├── ......
+│ └── pgsql
+│ └── ......
+└── temp // Temporary directory for internal use, do not delete
+```
+
+## 3. Start
+
+Navigate to the `bin` directory under the installation directory and start the program:
+```shell
+# Go to the bin directory under the installation directory
+cd bin
+
+# Start the program
+./startup.sh
+```
+
+:::danger Warning
+After starting the program, you may encounter the following error:
+`streampark.workspace.local: "/tmp/streampark" is an invalid path, please reconfigure in xxx/conf/config.yaml`
+:::
+
+This is because the local workspace directory for StreamPark does not exist or is not set to a valid path. The solution is simple: you can use the default configuration and create the `streampark` directory under `/tmp`:
+```shell
+mkdir -p /tmp/streampark
+```
+Alternatively, configure a valid local path in the `streampark.workspace.local` property in the `conf/config.yaml` file.
+
+Run `startup.sh` again, and you should see that the program starts successfully:
+
+
+Visit StreamPark at: [http://127.0.0.1:10000](http://127.0.0.1:10000)
+
+:::tip Tip
+Username and password: <strong> admin / streampark </strong>
+:::
+
+
+You should see **Login successful!**
+
+
+## 4. More
+
+At this point, you can see that the project is running successfully. The installation above is based on the default H2 local database. Let’s now look at how to integrate external databases (MySQL or PostgreSQL).
+
+### 4.1 Use External Database
+
+If you want to use an external database, you need to modify the `conf/config.yaml` file in the installation directory. The core modification is as follows (using `MySQL` as an example):
+
+```yaml
+datasource:
+ dialect: mysql # Change this to mysql, default is h2, supports mysql and pgsql
+ h2-data-dir: ~/streampark/h2-data # If using H2, configure this directory. If using MySQL or PostgreSQL, configure the remaining information (username and password)
+ username: # Username for the data source connection
+ password: # Password for the data source connection
+ url: # JDBC connection URL, e.g., jdbc:mysql://localhost:3306/streampark?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
+```
+
+Next, manually connect to the external database and initialize the MySQL table creation script (location: `installation_directory/script/schema/mysql-schema.sql`) and the data initialization script (location: `installation_directory/script/data/mysql-data.sql`).
+
+Once the above steps are complete, start the service, and it will automatically connect and use the external database.
+
+### 4.2 Use Hadoop
+
+If you need to deploy jobs to YARN, you must configure the Hadoop environment variables. If you are using a Hadoop environment installed via CDH, the relevant environment variables can be configured as follows:
+```shell
+export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop # Hadoop installation directory
+export HADOOP_CONF_DIR=/etc/hadoop/conf
+export HIVE_HOME=$HADOOP_HOME/../hive
+export HBASE_HOME=$HADOOP_HOME/../hbase
+export HADOOP_HDFS_HOME=$HADOOP_HOME/../hadoop-hdfs
+export HADOOP_MAPRED_HOME=$HADOOP_HOME/../hadoop-mapreduce
+export HADOOP_YARN_HOME=$HADOOP_HOME/../hadoop-yarn
+```
+
+:::tip Tip
+StreamPark will automatically read the Hadoop configuration from the environment variables, connect to Hadoop, upload resources to HDFS, and deploy jobs to YARN.
+:::
+
+In addition, you may need to modify the `conf/config.yaml` file (for example, specifying the `hadoop` user, Kerberos authentication, etc.). The core modifications are as follows:
+```yaml
+streampark:
+ workspace:
+ # Root path for storing resources in HDFS
+ remote: hdfs:///streampark/
+ proxy:
+ # Hadoop YARN proxy URL, e.g., Knox process address https://streampark.com:8443/proxy/yarn
+ yarn-url:
+ yarn:
+ # Authentication type
+ http-auth: 'simple' # Default is simple or kerberos
+ # Flink on YARN or Spark on YARN, HADOOP_USER_NAME
+ hadoop-user-name: hdfs
+
+# If Kerberos authentication is enabled, configure the following:
+security:
+ kerberos:
+ login:
+ debug: false
+ enable: false
+ keytab:
+ krb5:
+ principal:
+```
+
+### 4.3 Other Configurations
+
+Here is the detailed explanation of the `config.yaml` file configuration, allowing you to easily integrate SSO or LDAP, etc.:
+```yaml
+########################################### Logging Configuration ###########################################
+logging:
+ level:
+ root: info
+
+########################################### Basic Service Configuration ###########################################
+server:
+ port: 10000
+ session:
+ ttl: 2h # User login session expiration time. Users will be automatically logged out after this period.
+ undertow: # Undertow service settings
+ buffer-size: 1024
+ direct-buffers: true
+ threads:
+ io: 16
+ worker: 256
+
+########################################### Database Configuration ###########################################
+datasource:
+ dialect: h2 # Database dialect, supports h2, mysql, pgsql
+ h2-data-dir: ~/streampark/h2-data # If using H2, configure this directory
+ username:
+ password:
+ url: # Database connection URL, e.g., jdbc:mysql://localhost:3306/streampark?......
+
+########################################### Project Configuration ###########################################
+streampark:
+ ## Workspace configuration, local and HDFS workspaces for different types of resources
+ workspace:
+ local: /tmp/streampark
+ remote: hdfs:///streampark/
+ ## Proxy settings
+ proxy:
+ lark-url: # Feishu proxy URL
+ yarn-url: # YARN proxy URL
+ ## YARN-related configuration
+ yarn:
+ http-auth: 'simple' # Authentication method
+ hadoop-user-name: hdfs # Configure the Hadoop username
+ ## Project management settings
+ project:
+ max-build: 16 # Maximum number of projects to run concurrently.
+ ## Development interface settings
+ openapi:
+ white-list: # Configure the white list for open APIs
+
+########################################### Kerberos Authentication Configuration ###########################################
+security:
+ kerberos:
+ login:
+ debug: false
+ enable: false
+ keytab:
+ krb5:
+ principal:
+ ttl: 2h
+
+########################################
+```
+Looking forward to your further exploration~
\ No newline at end of file
diff --git a/docs/get-started/4.installationDocker.md b/docs/get-started/4.installationDocker.md
new file mode 100644
index 00000000..dc412eaa
--- /dev/null
+++ b/docs/get-started/4.installationDocker.md
@@ -0,0 +1,122 @@
+---
+id: 'installation-docker'
+title: 'Installation (Docker)'
+sidebar_position: 4
+---
+
+import { DockerInstallationEnvs } from '../components/TableData.jsx';
+
+## 1. Environment Preparation
+
+To install StreamPark using Docker, you need to prepare the following environment:
+
+<DockerInstallationEnvs></DockerInstallationEnvs>
+
+:::note Note
+This guide assumes that `Docker` and `Docker Compose` are already installed.
+:::
+
+## 2. Packaging Image
+
+This section explains how to manually package the image. First, follow the steps below to download the StreamPark source code. After switching branches, place the packaged installation files into the `dist` directory:
+
+```yaml
+## Clone the source code to your local machine
+git clone https://github.com/apache/streampark.git
+
+## Navigate to the docker directory
+cd streampark/docker
+
+## Switch to the desired branch, in this case, the release-2.1.5 branch
+git checkout release-2.1.5
+
+## Create the dist directory
+mkdir dist
+```
+:::tip
+After creating the `dist` directory, you can place the packaged or downloaded installation files into the `dist` directory. For demonstration purposes, we directly use the installation package downloaded from the official website.
+:::
+
+Download link: <u><font color='blue'>[https://streampark.apache.org/download](https://streampark.apache.org/download/)</font></u>
+
+Now you can begin building the image:
+
+```yaml
+## Note: Ensure the installation package is placed in the dist directory
+# cp path/to/apache-streampark_2.12-2.1.5-incubating-bin.tar.gz dist
+
+## Build the image, note that the image name format is: <apache/streampark>:<version>, ensure to include the "."
+docker build -t apache/streampark:2.1.5 .
+
+## After the build, use this command to check if the image has been built successfully
+docker images|grep streampark
+```
+
+Use the `docker` command to verify that the image was built successfully, as shown below:
+
+
+## 3. Start Service
+
+In the current StreamPark source's `docker` directory, you can start the service using the `docker-compose` command:
+
+```shell
+docker-compose up -d
+```
+
+After starting, use the following command to check if the StreamPark service is running correctly:
+
+```shell
+docker ps -a|grep streampark
+```
+
+From the image below, you can see that the StreamPark service has started successfully:
+
+
+To access StreamPark, visit: [http://127.0.0.1:10000](http://127.0.0.1:10000)
+:::tip Tip
+Login credentials: <strong> admin / streampark </strong>
+:::
+
+
+You should see **successful login!**
+
+
+
+## 4. Configuration
+
+As seen above, StreamPark is started using the `docker-compose` command. The `docker-compose.yaml` file is a configuration file used to define and manage multi-container Docker applications. Its contents and explanation are as follows:
+
+```yaml
+version: '3.8'
+
+services:
+ streampark:
+ image: apache/streampark:2.1.5 # Use the previously built image
+ ports:
+ - "10000:10000" # Map port 10000 of the container to port 10000 of the host to allow access to the service on that port
+ environment:
+ - TZ=Asia/Shanghai # Container's timezone
+ - DATASOURCE_DIALECT=h2 # Set the datasource dialect, supports h2, mysql, pgsql, currently set to h2
+ # If using MySQL or PostgreSQL, set the following parameters:
+ # - DATASOURCE_URL=jdbc:mysql://localhost:3306/streampark?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
+ # - DATASOURCE_URL=jdbc:postgresql://localhost:5432/streampark?stringtype=unspecified
+ # - DATASOURCE_USERNAME=root # Database username
+ # - DATASOURCE_PASSWORD=streampark # Database password
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock # Mount the host's Docker socket inside the container to allow interaction with Docker
+ - /etc/hosts:/etc/hosts:ro # Mount the host's /etc/hosts file inside the container, read-only access
+ - ~/.kube:/root/.kube:ro # Mount the host's kube configuration directory inside the container to access the Kubernetes cluster
+ privileged: true # Grant the container higher privileges, typically for scenarios requiring interaction with host resources
+ restart: always # Ensure the container always restarts after crashes or host reboots
+ networks:
+ - streampark # Use a custom network named streampark
+ healthcheck: # Set a health check
+ test: [ "CMD", "curl", "http://streampark:10000" ] # Use curl to check if port 10000 of the container is accessible
+ interval: 5s # Health check interval is 5 seconds
+ timeout: 5s # Timeout for each health check is 5 seconds
+ retries: 120 # The container will be considered unhealthy after 120 failed health checks
+
+networks:
+ streampark:
+ driver: bridge # Use the bridge network driver
+```
\ No newline at end of file
diff --git a/docs/get-started/4.platformBasicUsage.md b/docs/get-started/4.platformBasicUsage.md
deleted file mode 100644
index f98def91..00000000
--- a/docs/get-started/4.platformBasicUsage.md
+++ /dev/null
@@ -1,346 +0,0 @@
----
-id: 'how-to-use'
-title: 'How to Use Platform'
-sidebar_position: 4
----
-
-# Quick Start
-> Note: This section is designed to provide a convenient process for submitting Flink jobs using the StreamPark platform through simple operational steps.
-
-## Configure FLINK_HOME
-
-
-
-> Click "OK" to save
-
-
-## Configure Flink Cluster
-> Depending on the Flink deployment mode and resource management method, StreamPark supports the following six job modes:
-> - **Standalone Session**
-> - **Yarn Session**
-> - **Yarn Per-job**
-> - **Yarn Application**
-> - **K8s Session**
-> - **K8s Application**
->
-For this guide, choose the simpler Standalone Session mode (**indicated by the green line in the image below**) for a quick start.
-
-
-
-### Start Flink Standalone Session on Server
-```bash
-start-cluster.sh
-```
-
-> Page access: [http://vm:8081/](http://vm:8081/)
-
-
-### Configure Flink Cluster
-
-
-
-
-
-
-
-
-## Create Job
-
-### Main Parameters
-> - Development Mode: Choose “Flink SQL”
-> - Execution Mode: Choose “remote”
-> - Flink Version: Select "flink-1.17", as configured in “1.1 Configure FLINK_HOME”
-> - Flink Cluster: Select “myStandalonSession”, as configured in “1.2 Configure FLINK Cluster”
-> - Flink SQL: See example below
-> - Application Name: Job name
-
-### Create Job
-
-
-
-
-
-
-### Save Job
-> Click the blue “Submit” button to submit the job
-
-
-
-
-
-## Build Job
-
-> Build successful
-
-
-
-## Start Job
-
-
-### Start Checkpoint Settings
-
-
-### Submit Job
-
-
-
-## Check Job Status
-### View via Apache StreamPark™ Dashboard
-> StreamPark dashboard
-
-
-
-> View job details
-
-
-
-
-
-### View Native Flink Web UI
-
-
-
-
-> With this, the process of submitting a Flink job using the StreamPark platform is essentially complete. Below is a brief summary of the general process for managing Flink jobs on the StreamPark platform.
-
-## Apache StreamPark™ Platform's Process for Managing Flink Jobs
-
-
-> Stopping, modifying, and deleting Flink jobs through the StreamPark platform is relatively simple and can be experienced by users themselves. It is worth noting that: **If a job is in a running state, it cannot be deleted and must be stopped first**.
-
-# Apache StreamPark™ System Module Introduction
-## System Settings
-> Menu location
-
-
-
-### User Management
-> For managing users of the StreamPark platform
-
-
-### Token Management
-> Allows users to operate Flink jobs in the form of Restful APIs
-
-
-
-
-
-```bash
-curl -X POST '/flink/app/cancel' \
--H 'Authorization: 69qMW7reOXhrAh29LjPWwwP+quFqLf++MbPbsB9/NcTCKGzZE2EU7tBUBU5gqG236VF5pMyVrsE5K7hBWiyuLuJRqmxKdPct4lbGrjZZqkv5lBBYExxYVMIl+f5MZ9dbqqslZifFx3P4A//NYgGwkx5PpizomwkE+oZOqg0+c2apU0UZ9T7Dpnu/tPLk9g5w9q+6ZS2p+rTllPiEgyBnSw==' \
--H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \
---data-urlencode 'savePoint=' \
---data-urlencode 'id=100001' \
---data-urlencode 'savePointed=false' \
---data-urlencode 'drain=false' \
--i
-```
-### Role Management
-> User roles: Currently, there are two types, develop and admin.
-
-
-
-### Team Management
-> Teams: Used to distinguish and manage jobs of different teams in an enterprise.
-
-
-
-### Member Management
-> (Team) member management
-
-
-
-### Menu Management
-> Managing system menus
-
-
-
-## Apache StreamPark™ Menu Modules
-### Project
-> StreamPark integrates with code repositories to achieve CICD
-
-
-> To use, click "+ Add new," configure repo information, and save.
-
-
-
-
-
-### Application
-> **Core Module: Used for full lifecycle management (creation, build, start, stop, delete, etc.) of Flink jobs.**
-
-
-### Variable
-> Variable management: Manage variables that can be used when creating Application jobs.
-
-
-
-
-
-
-
-### Setting
-#### System Setting
-> For system configurations: Maven, Docker, alert email, Ingress
-
-
-
-
-
-
-
-
-
-#### Alert Setting
-> Supports multiple alert notification modes
-
-
-
-#### Flink Home
-> 【**To be improved**】Can perform some operations on Flink jobs, such as validation of Flink SQL, etc.
-
-
-
-
-
-
-
-#### Flink Cluster
-> - For executing Flink jobs in Session mode, there are three types based on different resource management methods: Standalone, Yarn, K8s
-> - 【**To be improved**】Application scenario: Suitable for scenarios with sufficient resources and where job isolation requirements are not very strict
-> - For more on session mode, see: [https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/deployment/overview/#session-mode](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/deployment/overview/#session-mode)
-
-
-
-
-
-
-
-
-# Using Native Flink with Apache StreamPark™
-> 【**To be improved**】In fact, a key feature of StreamPark is the optimization of the management mode for native Flink jobs at the user level, enabling users to rapidly develop, deploy, run, and monitor Flink jobs using the platform. Meaning, if users are familiar with native Flink, they will find StreamPark even more intuitive to use.
-
-## Flink Deployment Modes
-### How to Use in Apache StreamPark™
-> **Session Mode**
-
-1. Configure Flink Cluster
-
-
-
-2. When creating a job, select the corresponding resource manager's model and an established Flink Cluster in Execution Mode
-
-
-> **Application Mode**
-
-
-
-
-
-
-
-
-
-## Setting Job Parameters
-### Native Flink Job Parameters
-> Official website: [https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/deployment/config/](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/deployment/config/)
-
-> Native submission command (with parameters)
-
-```bash
-flink run-application -t yarn-application \
- -Dyarn.provided.lib.dirs="hdfs://myhdfs/my-remote-flink-dist-dir" \
- hdfs://myhdfs/jars/my-application.jar
-```
-### How to Use in Apache StreamPark™
-> When creating or modifying a job, add in “Dynamic Properties” as per the specified format
-
-
-
-## Alert Strategy
-> 【**To be improved**】
-
-### Native Flink Restart Mechanism
-> Reference: [https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/ops/state/task_failure_recovery/](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/ops/state/task_failure_recovery/)
-
-
-
-### How to Use in Apache StreamPark™
-> 【**To be improved**】Generally, alerts are triggered when a job fails or an anomaly occurs
-
-1. Configure alert notifications
-
-
-
-
-
-2. When creating or modifying a job, configure in "Fault Alert Template" and “CheckPoint Failure Options”
-
-
-
-## cp/sp
-> 【**To be improved**】
-
-### Native Flink Checkpoint and Savepoint
-> cp: [https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/datastream/fault-tolerance/checkpointing/](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/datastream/fault-tolerance/checkpointing/)
-> sp: [https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/ops/state/savepoints/](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/ops/state/savepoints/)
-
-
-
-### How to Configure Savepoint in Apache StreamPark™
-> Users can set a savepoint when stopping a job
-
-
-
-
-
-
-
-> View savepoint
-
-
-
-
-
-### How to Restore a Job from a Specified Savepoint in Apache StreamPark™
-> Users have the option to choose during job startup
-
-
-
-## Job Status
-> 【**To be improved**】
-
-### Native Flink Job Status
-> Reference: [https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/internals/job_scheduling/#jobmanager-data-structures](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/internals/job_scheduling/#jobmanager-data-structures)
-
-
-### Job Status in Apache StreamPark™
-> 【**To be improved**】
-
-
-## Job Details
-### Native Flink Job Details
-> View through “[Apache Flink® Dashboard](http://hadoop:8088/proxy/application_1701871016253_0004/#/)”
-
-
-
-### Job Details in Apache StreamPark™
-
-
-> In addition, for jobs in k8s mode, StreamPark also supports real-time display of startup logs, as shown below
-
-
-
-## Integration with Third-Party Systems
-### How Native Flink Integrates with Third-Party Systems
-> Native Flink provides a REST API
-> Reference: [https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/ops/rest_api/](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/ops/rest_api/)
-
-### How Apache StreamPark™ Integrates with Third-Party Systems
-> StreamPark also provides Restful APIs, supporting integration with other systems.
-> For example, it offers REST API interfaces for starting and stopping jobs.
-
-
-
diff --git a/docs/get-started/5.upgrades.md b/docs/get-started/5.upgrades.md
new file mode 100644
index 00000000..d4db02e5
--- /dev/null
+++ b/docs/get-started/5.upgrades.md
@@ -0,0 +1,98 @@
+---
+id: 'upgrades'
+title: 'Upgrades'
+sidebar_position: 5
+---
+
+## 1. Download Package
+If you need to upgrade your StreamPark program, you can directly download the latest installation package from the official website. For example, if you are downloading version <u><font color='blue'>[2.1.5](https://www.apache.org/dyn/closer.lua/incubator/streampark/2.1.5/apache-streampark_2.12-2.1.5-incubating-bin.tar.gz?action=download)</font></u>, the download link is: <u><font color='blue'>[https://streampark.apache.org/download](https://streampark.apache.org/download/)</font></u>
+
+Once the download is complete, extract the package:
+```shell
+# Extract the streampark installation package.
+tar -zxvf apache-streampark_2.12-2.1.5-incubating-bin.tar.gz
+```
+
+The extracted directory structure will look like this:
+```textmate
+├── bin
+│ ├── startup.sh // Startup script
+│ ├── shutdown.sh // Shutdown script
+│ └── ......
+├── conf
+│ ├── config.yaml // Project configuration file
+│ └── logback-spring.xml // Log configuration file
+├── lib
+│ └── *.jar // Project's JAR files
+├── logs // Program log directory
+├── script
+│ ├── data
+│ │ ├── mysql-data.sql // MySQL DDL creation SQL
+│ │ └── pgsql-data.sql // PostgreSQL DDL creation SQL
+│ ├── schema
+│ │ ├── mysql-schema.sql // Full initialization data for MySQL
+│ │ └── pgsql-schema.sql // Full initialization data for PostgreSQL
+│ └── upgrade
+│ ├── mysql
+│ │ ├── 1.2.3.sql // SQL to upgrade to version 1.2.3
+│ │ ├── 2.0.0.sql // SQL to upgrade to version 2.0.0
+│ │ ├── 2.1.0.sql // SQL to upgrade to version 2.1.0
+│ │ ├── 2.1.2.sql // SQL to upgrade to version 2.1.2
+│ │ ├── 2.1.3.sql // SQL to upgrade to version 2.1.3
+│ │ ├── 2.1.4.sql // SQL to upgrade to version 2.1.4
+│ │ └── 2.1.5.sql // SQL to upgrade to version 2.1.5
+│ └── pgsql
+│ └── ......
+└── temp // Temporary path used internally, do not delete
+```
+:::note Note
+The upgrade scripts are located in the `script/upgrade` folder.
+:::
+
+## 2. Execute Upgrade Scripts
+In the `script/upgrade` directory of the extracted installation package, you will see separate upgrade directories for MySQL and PostgreSQL, each containing multiple upgrade scripts.
+```yaml
+......
+
+├── script
+│ ├── data
+│ │ ├── mysql-data.sql // MySQL DDL creation SQL
+│ │ └── pgsql-data.sql // PostgreSQL DDL creation SQL
+│ ├── schema
+│ │ ├── mysql-schema.sql // Full initialization data for MySQL
+│ │ └── pgsql-schema.sql // Full initialization data for PostgreSQL
+│ └── upgrade
+│ ├── mysql
+│ │ ├── 1.2.3.sql // SQL to upgrade to version 1.2.3
+│ │ ├── 2.0.0.sql // SQL to upgrade to version 2.0.0
+│ │ ├── 2.1.0.sql // SQL to upgrade to version 2.1.0
+│ │ ├── 2.1.2.sql // SQL to upgrade to version 2.1.2
+│ │ ├── 2.1.3.sql // SQL to upgrade to version 2.1.3
+│ │ ├── 2.1.4.sql // SQL to upgrade to version 2.1.4
+│ │ └── 2.1.5.sql // SQL to upgrade to version 2.1.5
+│ └── pgsql
+│ └── ......
+
+......
+```
+:::caution Caution
+These scripts need to be executed in order, based on the version before the upgrade.
+:::
+
+For example, if the program uses an external MySQL database:
+- · If the current version is `2.1.2`, you need to execute the scripts in the following order: `2.1.3.sql` → `2.1.4.sql` → `2.1.5.sql`.
+- · If the current version is `2.1.3`, you need to execute `2.1.4.sql` → `2.1.5.sql`.
+- · If the current version is `2.1.4`, you only need to execute `2.1.5.sql`.
+
+## 3. Modify Configuration
+Ensure that the latest configuration file (`/conf/config.yaml`) is consistent with the historical configuration:
+```yaml
+......
+
+├── conf
+│ ├── config.yaml // Project configuration file
+
+......
+```
+
+Finally, start the program to complete the upgrade and update operation!
\ No newline at end of file
diff --git a/docs/get-started/_category_.json b/docs/get-started/_category_.json
index 1bf165d4..3562d433 100644
--- a/docs/get-started/_category_.json
+++ b/docs/get-started/_category_.json
@@ -1,4 +1,4 @@
{
- "label": "Get Started",
+ "label": "Getting Started",
"position": 1
}
diff --git a/docusaurus.config.js b/docusaurus.config.js
index 35822276..eb2b3e67 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -112,7 +112,7 @@ const config = {
},
items: [
{
- to: '/docs/get-started/intro',
+ to: '/docs/get-started/introduction',
label: 'Docs',
position: "right",
activeBaseRegex: `/docs`,
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current.json b/i18n/zh-CN/docusaurus-plugin-content-docs/current.json
index bda8873f..91514b67 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current.json
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current.json
@@ -3,8 +3,8 @@
"message": "Next",
"description": "The label for version current"
},
- "sidebar.tutorialSidebar.category.Get Started": {
- "message": "快速开始",
+ "sidebar.tutorialSidebar.category.Getting Started": {
+ "message": "快速入门",
"description": "The label for category Get Started in sidebar docs"
},
"sidebar.tutorialSidebar.category.Platform User Guide": {
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/components/TableData.jsx b/i18n/zh-CN/docusaurus-plugin-content-docs/current/components/TableData.jsx
index 0cc6f20c..33715747 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/components/TableData.jsx
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/components/TableData.jsx
@@ -408,6 +408,118 @@ const DevelopmentEnvs = () => {
);
};
+const QuickStartEnvs = () => {
+ return (
+
+ <div>
+ <table className="table-data" style={{width: '100%', display: 'inline-table'}}>
+ <thead>
+ <tr>
+ <td>物料</td>
+ <td>版本要求</td>
+ <td>演示版本(仅供参考)</td>
+ </tr>
+ </thead>
+ <tbody>
+ {
+ dataSource.QuickStartEnvs.map((item, i) => (
+ <tr key={i}>
+ <td>
+ <span className="label-info">{item.name}</span>
+ </td>
+ <td>{item.version}</td>
+ <td>{item.other}</td>
+ </tr>
+ ))
+ }
+ </tbody>
+ </table>
+ </div>
+
+ );
+};
+
+const InstallationEnvs = () => {
+ return (
+
+ <div>
+ <table className="table-data" style={{width: '100%', display: 'inline-table'}}>
+ <thead>
+ <tr>
+ <td>环境</td>
+ <td>版本要求</td>
+ <td>是否必须</td>
+ <td>备注</td>
+ </tr>
+ </thead>
+ <tbody>
+ {
+ dataSource.installationEnvs.map((item, i) => (
+ <tr key={i}>
+ <td>
+ <span className="label-info">{item.name}</span>
+ </td>
+ <td>{item.version}</td>
+ <td>
+ {
+ item.required
+ ?
+ <span className="icon-toggle-on" title="必须"></span>
+ :
+ <span className="icon-toggle-off" title="可选"></span>
+ }
+ </td>
+ <td>{item.other}</td>
+ </tr>
+ ))
+ }
+ </tbody>
+ </table>
+ </div>
+
+ );
+};
+
+const DockerInstallationEnvs = () => {
+ return (
+
+ <div>
+ <table className="table-data" style={{width: '100%', display: 'inline-table'}}>
+ <thead>
+ <tr>
+ <td>环境</td>
+ <td>版本要求</td>
+ <td>是否必须</td>
+ <td>备注</td>
+ </tr>
+ </thead>
+ <tbody>
+ {
+ dataSource.dockerInstallationEnvs.map((item, i) => (
+ <tr key={i}>
+ <td>
+ <span className="label-info">{item.name}</span>
+ </td>
+ <td>{item.version}</td>
+ <td>
+ {
+ item.required
+ ?
+ <span className="icon-toggle-on" title="必须"></span>
+ :
+ <span className="icon-toggle-off" title="可选"></span>
+ }
+ </td>
+ <td>{item.other}</td>
+ </tr>
+ ))
+ }
+ </tbody>
+ </table>
+ </div>
+
+ );
+};
export {
ClientOption,
@@ -420,5 +532,8 @@ export {
ClientFailureRate,
ClientTables,
DevelopmentEnvs,
- DeploymentEnvs
+ DeploymentEnvs,
+ QuickStartEnvs,
+ InstallationEnvs,
+ DockerInstallationEnvs
};
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/components/data.js b/i18n/zh-CN/docusaurus-plugin-content-docs/current/components/data.js
index 942cea13..7ffa3629 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/components/data.js
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/components/data.js
@@ -117,4 +117,26 @@ export default {
{name: 'Hadoop', version: '2 +', required: false, other: '可选,如果部署flink on yarn 需要配置hadoop环境变量.'},
],
+ QuickStartEnvs: [
+ {name: '操作系统', version: 'Linux/MacOS', other: 'MacOS'},
+ {name: 'Java', version: 'JDK version >=1.18', other: '1.8.0_362'},
+ {name: 'Scala', version: 'Scala version >=2.12', other: '2.12.18'},
+ {name: 'Flink', version: 'Flink version >= 1.12', other: '1.19.0'},
+ {name: 'StreamPark安装包', version: '任意版本', other: '2.1.5'},
+ ],
+
+ installationEnvs: [
+ {name: '操作系统', version: 'Linux/MacOS',required: true, other: '不支持 Windows 系统'},
+ {name: 'Java', version: '1.18+',required: true, other: 'Java version >=1.8'},
+ {name: 'Scala', version: '2.12+',required: true, other: 'Scala version >=2.12'},
+ {name: '数据库', version: 'MySQL: 5.6+、Postgresql: 9.6+',required: false, other: '默认使用 H2 数据库,支持 MySQL 和 Postgresql'},
+ {name: 'Flink', version: '1.12+ ',required: false, other: 'Flink 版本最低支持1.12'},
+ {name: 'Hadoop', version: '2+ ',required: false, other: '非必须,如果部署作业至 Yarn,需要准备 Hadoop 环境'},
+ {name: 'Kubernetes', version: '1.16+ ',required: false, other: '非必须,如果部署作业至 Kubernetes,需要准备 Kubernetes 集群'},
+ ],
+
+ dockerInstallationEnvs: [
+ {name: 'Docker', version: '1.13.1+',required: true, other: 'Docker版本不低于1.13.1'},
+ {name: 'Docker Compose', version: '1.28.0+',required: true, other: 'Docker Compose版本不低于1.28.0'},
+ ],
}
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/1.intro.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/1.intro.md
deleted file mode 100644
index 619cb2b0..00000000
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/1.intro.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: 'intro'
-title: '什么是 Apache StreamPark™'
-sidebar_position: 1
----
-
-# Apache StreamPark™
-
-一个神奇的框架,让流处理更简单!
-
-## 🚀 什么是 Apache StreamPark™
-
-实时即未来,在实时处理流域 Apache Spark™ 和 Apache Flink® 是一个伟大的进步,尤其是 Flink 被普遍认为是下一代大数据流计算引擎。
-
-在使用 Apache Flink® 和 Apache Spark™ 时,我们发现从编程模型, 启动配置到运维管理都有很多可以抽象共用的地方。于是,我们将一些好的经验固化下来并结合业内的最佳实践, 通过不断努力诞生了今天的框架:Apache StreamPark。项目的初衷是:让流处理更简单!
-
-使用 StreamPark 开发流处理作业, 可以极大降低学习成本和开发门槛, 让开发者只用关心最核心的业务,StreamPark 规范了项目的配置、鼓励函数式编程、定义了最佳的编程方式,提供了一系列开箱即用的连接器(Connector),标准化了配置、开发、测试、部署、监控、运维的整个过程,提供了 Scala 和 Java 两套接口,并且提供了一个一站式的流处理作业开发管理平台,从流处理作业开发到上线全生命周期都做了支持,是一个一站式的流处理计算平台。
-
-## 🎉 Features
-
-* Apache Flink® 和 Apache Spark™ 应用程序开发脚手架
-* 支持多个版本的 Apache Flink® 和 Apache Spark
-* 一系列开箱即用的连接器
-* 一站式流处理运营平台
-* 支持 Catalog / OLAP / Streaming Warehouse 等场景
-* ...
-
-## 🏳🌈 组成部分
-
-Apache StreamPark 核心由 `streampark-core` 和 `streampark-console` 组成:
-
-
-
-### 1. streampark-core
-
-`streampark-core` 定位是一个开发时框架,关注编码开发,规范了配置文件,按照约定优于配置的方式进行开发,提供了一个开发环境的 `RuntimeContext` 和一系列开箱即用的连接器,扩展了 `DataStream` 相关的方法,融合了 `DataStream` 和 `Flink SQL` API,简化繁琐的操作、聚焦业务本身,提高开发效率和开发体验。
-
-### 2. streampark-console
-
-`streampark-console` 是一个综合实时数据平台、低代码平台,可以较好的管理 Flink 任务,集成了项目编译、发布、参数配置、启动、保存点、火焰图、Flink SQL 和监控等诸多功能于一体,大大简化了 Flink 任务的日常操作和维护,融合了诸多最佳实践。旧时王谢堂前燕,飞入寻常百姓家。让大公司有能力研发使用的项目,现在人人可以使用,其最终目标是打造成一个实时数仓,流批一体的一站式大数据解决方案,该平台使用了(但不仅限)以下技术:
-
-* [Apache Flink](http://flink.apache.org)
-* [Apache Spark](http://spark.apache.org)
-* [Apache YARN](http://hadoop.apache.org)
-* [Spring Boot](https://spring.io/projects/spring-boot/)
-* [Mybatis](http://www.mybatis.org)
-* [Mybatis-Plus](http://mp.baomidou.com)
-* [Vue](https://cn.vuejs.org/)
-* [VuePress](https://vuepress.vuejs.org/)
-* [Ant Design of Vue](https://antdv.com/)
-* [ANTD PRO VUE](https://pro.antdv)
-* [xterm.js](https://xtermjs.org/)
-* [Monaco Editor](https://microsoft.github.io/monaco-editor/)
-* ...
-
-感谢以上优秀的开源项目和很多未提到的优秀开源项目,给予最大的 respect!
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/1.introduction.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/1.introduction.md
new file mode 100644
index 00000000..d3d703dd
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/1.introduction.md
@@ -0,0 +1,74 @@
+---
+id: 'introduction'
+title: '简介'
+sidebar_position: 1
+---
+# 什么是 Apache StreamPark™ ?
+🚀 **一个神奇的框架,让流处理更简单!**
+
+> 在实时处理领域,Apache Spark™ 和 Apache Flink® 代表着巨大的进步,尤其是 Flink,它被广泛视为下一代大数据流计算引擎,而我们在使用 Apache Flink® 和 Apache Spark™ 时发现从编程模型、启动配置到运维管理都存在许多可以抽象和共用的部分,我们将一些优秀经验进行固化并结合业内最佳实践,经过不懈努力最终诞生了: **`Apache StreamPark™`** 。
+
+
+
+
+
+**`Apache StreamPark™` 是一个一站式的流处理计算平台**。规范了项目的配置、鼓励函数式编程、定义了最佳的编程方式,提供了一系列开箱即用的连接器(Connector),标准化了配置、开发、测试、部署、监控、运维的整个过程,提供了 Scala 和 Java 两套接口,并且提供了一个一站式的流处理作业开发管理平台,从流处理作业开发到上线全生命周期都做了支持。使用 Apache StreamPark™ 开发流处理作业可以显著降低学习成本和开发门槛,让开发者能够专注于核心业务逻辑。。
+
+
+
+
+## 核心特性
+
+<h6> 🎉 应用程序开发脚手架</h6>
+
+**Apache StreamPark™** 提供了一个易于使用的开发框架,使开发者能够高效地构建流处理应用。它<u>**支持多种版本**</u>的 Apache Flink® 和 Apache Spark™,降低了学习成本和开发门槛,允许开发者专注于核心业务逻辑。
+
+
+
+<h6> 🎉 开箱即用的连接器</h6>
+
+**Apache StreamPark™** 提供了一系列<u>**开箱即用**</u>的连接器,简化了与不同数据源和目标的集成。这些连接器使得数据流的获取和处理变得更加高效,支持多种数据场景。
+
+
+
+<h6> 🎉 一站式流处理运维平台</h6>
+
+**Apache StreamPark™** 作为一个一站式流处理运维平台,<u>**集成了应用的开发、调试、部署和运维管理功能**</u>。它通过 `streampark-console` 提供了低代码平台,方便用户管理 Flink 任务,简化了项目的编译、发布、参数配置等操作。
+
+
+
+<h6> 🎉 支持多种场景</h6>
+
+**Apache StreamPark™** 支持多种应用场景,包括 Catalog、OLAP 和 Streaming Warehouse 等。这使得用户能够在不同的数据处理需求下灵活应用 Apache StreamPark™,满足实时数据分析和处理的需求。
+
+
+<h6> 🎉 ...</h6>
+
+## 架构设计
+🏳🌈 **Apache StreamPark™** 核心由 `StreamPark Core` 和 `StreamPark Console` 组成:
+
+
+
+### StreamPark Core
+
+**StreamPark Core** 定位是一个开发时框架,关注编码开发,规范了配置文件,按照约定优于配置的方式进行开发,提供了一个开发环境的 RuntimeContext 和一系列开箱即用的连接器,扩展了 DataStream 相关的方法,融合了 DataStream 和 Flink SQL API,简化繁琐的操作、聚焦业务本身,提高开发效率和开发体验。
+
+### StreamPark Console
+
+**StreamPark Console** 是一个集实时数据处理与低代码开发于一体的平台,能够高效管理 Flink 任务。它整合了项目编译、发布、参数配置、启动、保存点、火焰图、Flink SQL 和监控等功能,极大简化了 Flink 任务的日常操作与维护,并融入了众多最佳实践。该平台使原本只有大公司才能研发和使用的项目,如今人人可得,其目标是打造一个实时数仓、流批一体的一式站大数据解决方案。该平台使用了以下技术(但不限于):
+
+- · [Apache Flink](http://flink.apache.org)
+- · [Apache Spark](http://spark.apache.org)
+- · [Apache YARN](http://hadoop.apache.org)
+- · [Spring Boot](https://spring.io/projects/spring-boot/)
+- · [Mybatis](http://www.mybatis.org)
+- · [Mybatis-Plus](http://mp.baomidou.com)
+- · [Vue](https://cn.vuejs.org/)
+- · [VuePress](https://vuepress.vuejs.org/)
+- · [Ant Design of Vue](https://antdv.com/)
+- · [ANTD PRO VUE](https://pro.antdv)
+- · [xterm.js](https://xtermjs.org/)
+- · [Monaco Editor](https://microsoft.github.io/monaco-editor/)
+- · ...
+
+感谢以上优秀的开源项目和很多未提到的优秀开源项目,给予最大的 respect!
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/2.deployment.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/2.deployment.md
deleted file mode 100755
index 13c540e3..00000000
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/2.deployment.md
+++ /dev/null
@@ -1,212 +0,0 @@
----
-id: 'deployment'
-title: '平台安装'
-sidebar_position: 2
----
-
-import { DeploymentEnvs } from '../components/TableData.jsx';
-
-StreamPark 总体组件栈架构如下, 由 streampark-core 和 streampark-console 两个大的部分组成 , streampark-console 是一个非常重要的模块, 定位是一个**综合实时数据平台**,**流式数仓平台**, **低代码 ( Low Code )**, **Flink & Spark 任务托管平台**,可以较好的管理 Flink 任务,集成了项目编译、发布、参数配置、启动、savepoint,火焰图 ( flame graph ),Flink SQL,监控等诸多功能于一体,大大简化了 Flink 任务的日常操作和维护,融合了诸多最佳实践。其最终目标是打造成一个实时数仓,流批一体的一站式大数据解决方案
-
-
-
-streampark-console 提供了开箱即用的安装包,安装之前对环境有些要求,具体要求如下:
-
-## 环境要求
-
-<DeploymentEnvs></DeploymentEnvs>
-
-目前 StreamPark 对 Flink 的任务发布,同时支持 `Flink on YARN` 和 `Flink on Kubernetes` 两种模式。
-
-### Hadoop
-使用 `Flink on YARN`,需要部署的集群安装并配置 Hadoop的相关环境变量,如你是基于 CDH 安装的 hadoop 环境,
-相关环境变量可以参考如下配置:
-
-```shell
-export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop #hadoop 安装目录
-export HADOOP_CONF_DIR=/etc/hadoop/conf
-export HIVE_HOME=$HADOOP_HOME/../hive
-export HBASE_HOME=$HADOOP_HOME/../hbase
-export HADOOP_HDFS_HOME=$HADOOP_HOME/../hadoop-hdfs
-export HADOOP_MAPRED_HOME=$HADOOP_HOME/../hadoop-mapreduce
-export HADOOP_YARN_HOME=$HADOOP_HOME/../hadoop-yarn
-```
-
-### Kubernetes
-
-使用 `Flink on Kubernetes`,需要额外部署/或使用已经存在的 Kubernetes 集群,请参考条目: [**StreamPark Flink-K8s 集成支持**](../platform/10-hadoop-resource-integration.md)
-
-## 安装
-
-[**下载**](https://streampark.apache.org/zh-CN/download/) streampark 安装包,解包后安装目录如下
-
-```textmate
-.
-streampark-console-service-1.2.1
-├── bin
-│ ├── startup.sh //启动脚本
-│ ├── setclasspath.sh //java 环境变量相关的脚本 ( 内部使用,用户无需关注 )
-│ ├── shutdown.sh //停止脚本
-│ ├── yaml.sh //内部使用解析 yaml 参数的脚本 ( 内部使用,用户无需关注 )
-├── conf
-│ ├── application.yaml //项目的配置文件 ( 注意不要改动名称 )
-│ ├── flink-application.template //flink 配置模板 ( 内部使用,用户无需关注 )
-│ ├── logback-spring.xml //logback
-│ └── ...
-├── lib
-│ └── *.jar //项目的 jar 包
-├── client
-│ └── streampark-flink-sqlclient-1.0.0.jar //Flink SQl 提交相关功能 ( 内部使用,用户无需关注 )
-├── script
-│ ├── schema
-│ │ ├── mysql-schema.sql // mysql的ddl建表sql
-│ │ └── pgsql-schema.sql // pgsql的ddl建表sql
-│ ├── data
-│ │ ├── mysql-data.sql // mysql的完整初始化数据
-│ │ └── pgsql-data.sql // pgsql的完整初始化数据
-│ ├── upgrade
-│ │ ├── 1.2.3.sql //升级到 1.2.3版本需要执行的升级sql
-│ │ └── 2.0.0.sql //升级到 2.0.0版本需要执行的升级sql
-│ │ ...
-├── logs //程序 log 目录
-├── temp //内部使用到的临时路径,不要删除
-```
-
-##### 初始化表结构
-
-目前支持mysql,pgsql, h2(默认,不需要执行任何操作),sql脚本目录如下:
-
-```textmate
-├── script
-│ ├── schema
-│ │ ├── mysql-schema.sql // mysql的ddl建表sql
-│ │ └── pgsql-schema.sql // pgsql的ddl建表sql
-│ ├── data
-│ │ ├── mysql-data.sql // mysql的完整初始化数据
-│ │ └── pgsql-data.sql // pgsql的完整初始化数据
-│ ├── upgrade
-│ │ ├── 1.2.3.sql //升级到 1.2.3版本需要执行的升级sql
-│ │ └── 2.0.0.sql //升级到 2.0.0版本需要执行的升级sql
-```
-如果是初次安装, 需要连接对应的数据库客户端依次执行 `schema` 和 `data` 目录下对应数据库的脚本文件即可, 如果是升级, 则执行对应的版本号的sql即可.
-
-##### 修改配置
-
-安装解包已完成,接下来准备数据相关的工作
-
-###### 修改连接信息
-进入到 `conf` 下,修改 `conf/application.yml`,找到 spring 这一项,找到 profiles.active 的配置,修改成对应的信息即可,如下
-
-```yaml
-spring:
- profiles.active: mysql #[h2,pgsql,mysql]
- application.name: StreamPark
- devtools.restart.enabled: false
- mvc.pathmatch.matching-strategy: ant_path_matcher
- servlet:
- multipart:
- enabled: true
- max-file-size: 500MB
- max-request-size: 500MB
- aop.proxy-target-class: true
- messages.encoding: utf-8
- jackson:
- date-format: yyyy-MM-dd HH:mm:ss
- time-zone: GMT+8
- main:
- allow-circular-references: true
- banner-mode: off
-```
-
-在修改完 `conf/application.yml` 后, 还需要修改 `config/application-mysql.yml` 中的数据库连接信息:
-
-**Tips: 由于Apache 2.0许可与Mysql Jdbc驱动许可的不兼容,用户需要自行下载驱动jar包并放在 $STREAMPARK_HOME/lib 中,推荐使用8.x版本,下载地址[apache maven repository](https://repo.maven.apache.org/maven2/mysql/mysql-connector-java/)**
-
-```yaml
-spring:
- datasource:
- username: root
- password: xxxx
- driver-class-name: com.mysql.cj.jdbc.Driver # 请根据mysql-connector-java版本确定具体的路径,例如:使用5.x则此处的驱动名称应该是:com.mysql.jdbc.Driver
- url: jdbc:mysql://localhost:3306/streampark?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
-```
-
-###### 修改workspace
-进入到 `conf` 下,修改 `conf/application.yml`,找到 streampark 这一项,找到 workspace 的配置,修改成一个用户有权限的目录
-
-```yaml
-streampark:
- # HADOOP_USER_NAME 如果是on yarn模式( yarn-prejob | yarn-application | yarn-session)则需要配置 hadoop-user-name
- hadoop-user-name: hdfs
- # 本地的工作空间,用于存放项目源码,构建的目录等.
- workspace:
- local: /opt/streampark_workspace # 本地的一个工作空间目录(很重要),用户可自行更改目录,建议单独放到其他地方,用于存放项目源码,构建的目录等.
- remote: hdfs:///streampark # support hdfs:///streampark/ 、 /streampark 、hdfs://host:ip/streampark/
-```
-
-##### 启动
-
-进入到 `bin` 下直接执行 startup.sh 即可启动项目,默认端口是**10000**,如果没啥意外则会启动成功,打开浏览器 输入**http://$host:10000** 即可登录
-
-```bash
-cd streampark-console-service-1.0.0/bin
-bash startup.sh
-```
-相关的日志会输出到**streampark-console-service-1.0.0/logs/streampark.out** 里
-
-
-### 系统登录
-
-经过以上步骤,即可部署完成,可以直接登录系统
-
-
-
-:::tip 提示
-默认密码: <strong> admin / streampark </strong>
-:::
-
-## 系统配置
-
-进入系统之后,第一件要做的事情就是修改系统配置,在菜单/StreamPark/Setting 下,操作界面如下:
-
-
-
-主要配置项分为以下几类
-
-<div class="counter">
-
-- System Setting
-- Alert Setting
-- Flink Home
-- Flink Cluster
-
-</div>
-
-### System Setting
-当前系统配置包括:
-
-- Maven配置
-- Docker环境配置
-- 警告邮箱配置
-- k8s Ingress 配置
-
-### Alert Setting
-
-Alert Email 相关的配置是配置发送者邮件的信息,具体配置请查阅相关邮箱资料和文档进行配置
-
-### Flink Home
-
-这里配置全局的 Flink Home,此处是系统唯一指定 Flink 环境的地方,会作用于所有的作业
-
-:::info 提示
-特别提示: 最低支持的 Flink 版本为 1.12.0, 之后的版本都支持
-:::
-
-### Flink Cluster
-Flink 当前支持的集群模式包括:
-
-- Standalone 集群
-- Yarn 集群
-- Kubernetes 集群
-
-
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/2.quickStart.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/2.quickStart.md
new file mode 100644
index 00000000..9156c064
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/2.quickStart.md
@@ -0,0 +1,114 @@
+---
+id: 'quick-start'
+title: '快速入门'
+sidebar_position: 2
+---
+
+import { QuickStartEnvs } from '../components/TableData.jsx';
+
+> 如果要快速入门 StreamPark,可以 **一键安装部署** 或者 **手动安装部署** 。
+
+## 1.一键安装
+如果需要一键安装 StreamPark,直接复制如下命令即可:
+```shell
+curl -L https://streampark.apache.org/quickstart.sh | sh
+```
+如果提示如下内容,表示安装部署成功:
+
+
+:::note 备注
+脚本已经帮我们安装好 StreamPark 以及 Flink 集群了,直接登录即可启动作业
+:::
+登录系统后,点击启动即可启动默认作业。
+> 登录地址:<u><font color='blue'>[http://127.0.0.1:8081](http://127.0.0.1:8081)</font></u> ,登录账号密码:`admin` / `streampark`):
+
+
+
+
+## 2. 手动安装
+
+只需按照以下三个步骤,即可快速入门StreamPark:
+- **Step1**:环境准备
+- **Step2**:StreamPark 安装
+- **Step3**:部署作业
+
+### 2.1 环境准备
+
+<QuickStartEnvs></QuickStartEnvs>
+
+**备注**:默认用户在本地已经安装好 JDK 以及 Scala 环境。
+
+### 2.2 StreamPark 安装
+首先从官网直接下载最新版的 StreamPark,本文使用的是 <u><font color='blue'>[2.1.5 版本](https://www.apache.org/dyn/closer.lua/incubator/streampark/2.1.5/apache-streampark_2.12-2.1.5-incubating-bin.tar.gz?action=download)</font></u> ,下载地址:<u><font color='blue'>[https://streampark.apache.org/download](https://streampark.apache.org/download/)</font></u>
+
+下载完成后,解压到本地的某个目录,进入 bin 目录启动 StreamPark ,相关脚本如下:
+```shell
+# 解压StreamPark安装包.
+tar -zxvf apache-streampark_2.12-2.1.5-incubating-bin.tar.gz
+
+# 启动StreamPark.
+cd apache-streampark_2.12-2.1.5-incubating-bin/bin
+./startup.sh
+```
+启动成功后界面如下:
+
+
+登录 StreamPark,地址:[http://127.0.0.1:10000](http://127.0.0.1:10000)
+
+:::tip 提示
+账号密码为:admin/streampark
+:::
+
+
+
+### 2.3 部署作业
+首次登录系统后,会发现已经有一个默认创建好的 FlinkSQL 作业。为了更好地演示,这里使用 Standalone 模式来运行这个作业。在此之前,需要先配置 Flink 版本与关联 Flink 集群。
+
+#### 2.3.1 配置 Flink 版本
+:::caution 注意
+Flink 安装包需要与 StreamPark 服务同在一台服务器。
+:::
+
+首先需要配置 Flink 版本,即指定本地 Flink 的解压路径。依次点击:**设置中心 → Flink 版本 → 新建**
+
+
+
+#### 2.3.2 配置Flink集群
+:::note 备注
+需要确保本地的 Flink 集群已经启动(直接进入 Flink 解压目录下的bin目录,执行`./start-cluster.sh`即可)
+:::
+
+关联Flink集群,依次点击:**设置中心 → Flink集群 → 添加**
+
+
+#### 2.3.3 配置作业
+点击作业配置,进入作业配置页面:
+
+
+只需要修改部署模式、Flink 版本、Flink 集群,保存即可:
+
+
+点击上线:
+
+
+启动作业:
+
+
+启动成功后的页面如下:
+
+
+当然也能进入详情页面查看作业详情:
+
+
+这里不再演示其它的功能,值得您继续探索...
+
+## 3. 可能会遇到的问题
+如果遇到如下错误:
+:::danger 注意
+ERROR: streampark.workspace.local: "/tmp/streampark" is an invalid path, please reconfigure in ...
+:::
+
+可以考虑直接在系统的 `/tmp` 目录创建 `streampark` 文件夹或在安装目录下的 `/conf/config.yaml` 文件里配置 `streampark.workspace.local` 属性为一个合法的临时目录路径。
+
+
+
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/3.dockerDeployment.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/3.dockerDeployment.md
deleted file mode 100644
index c340f033..00000000
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/3.dockerDeployment.md
+++ /dev/null
@@ -1,213 +0,0 @@
----
-id: 'docker-deployment'
-title: '平台安装 (Docker)'
-sidebar_position: 3
----
-
-本教程使用 Docker 完成 StreamPark 平台的部署。
-
-## 前置条件
-
- Docker 1.13.1+
- Docker Compose 1.28.0+
-
-### 1. 安装 docker
-使用 docker 启动服务,需要先安装 [docker](https://www.docker.com/)
-
-### 2. 安装 docker-compose
-使用 docker-compose 启动服务,需要先安装 [docker-compose](https://docs.docker.com/compose/install/)
-
-## 部署 Apache StreamPark™
-
-### 1. 基于 h2 和 docker-compose 部署 Apache StreamPark™
-
-该方式适用于入门学习、熟悉功能特性,容器重启后配置会失效,下方可以配置Mysql、Pgsql进行持久化
-
-#### 2. 部署
-
-```shell
-wget https://raw.githubusercontent.com/apache/streampark/dev/docker/docker-compose.yaml
-wget https://raw.githubusercontent.com/apache/streampark/dev/docker/.env
-docker-compose up -d
-```
-服务启动后,可以通过 http://localhost:10000 访问 StreamPark,同时也可以通过 http://localhost:8081 访问Flink。访问StreamPark链接后会跳转到登陆页面,StreamPark 默认的用户和密码分别为 admin 和 streampark。想要了解更多操作请参考用户手册快速上手。
-
-
-该部署方式会自动给你启动一个flink-session集群供你去进行flink任务使用,同时也会挂载本地docker服务以及~/.kube来用于k8s模式的任务提交
-
-#### 3. 配置 Flink home
-
-
-
-#### 4. 配置 Session集群
-
-
-
-注意:在配置flink-sessin集群地址时,填写的ip地址不是localhost,而是宿主机网络ip,该ip地址可以通过ifconfig来进行获取
-
-#### 5. 提交 Flink 作业
-
-
-
-
-#### 使用已有的 Mysql 服务
-该方式适用于企业生产,你可以基于 docker 快速部署 StreamPark 并将其和线上数据库进行关联
-注意:部署支持的多样性是通过.env这个配置文件来进行维护的,要保证目录下有且仅有一个.env文件
-
-```shell
-wget https://raw.githubusercontent.com/apache/streampark/dev/docker/docker-compose.yaml
-wget https://raw.githubusercontent.com/apache/streampark/dev/docker/mysql/.env
-vim .env
-```
-
-需要先在mysql先创建streampark数据库,然后手动执行对应的schema和data里面对应数据源的sql
-
-然后修改对应的连接信息
-
-```shell
-SPRING_PROFILES_ACTIVE=mysql
-SPRING_DATASOURCE_URL=jdbc:mysql://localhost:3306/streampark?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
-SPRING_DATASOURCE_USERNAME=root
-SPRING_DATASOURCE_PASSWORD=streampark
-```
-
-```shell
-docker-compose up -d
-```
-### 沿用已有的 PgSQL 服务
-
-```shell
-wget https://raw.githubusercontent.com/apache/streampark/dev/docker/docker-compose.yaml
-wget https://raw.githubusercontent.com/apache/streampark/dev/docker/pgsql/.env
-vim .env
-```
-
-修改对应的连接信息
-```shell
-SPRING_PROFILES_ACTIVE=pgsql
-SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/streampark?stringtype=unspecified
-SPRING_DATASOURCE_USERNAME=postgres
-SPRING_DATASOURCE_PASSWORD=streampark
-```
-```shell
-docker-compose up -d
-```
-
-## 基于源码构建镜像进行Apache StreamPark™部署
-
-```shell
-git clone https://github.com/apache/streampark.git
-cd streampark/docker
-vim docker-compose.yaml
-```
-
-```shell
- build:
- context: ../..
- dockerfile: docker/Dockerfile
-# image: ${HUB}:${TAG}
-```
-
-
-```shell
-docker-compose up -d
-```
-
-## docker-compse配置
-
-docker-compose.yaml会引用env文件的配置,修改后的配置如下:
-
-```yaml
-version: '3.8'
-services:
- ## streampark-console容器
- streampark-console:
- ## streampark的镜像
- image: apache/streampark:latest
- ## streampark的镜像启动命令
- command: ${
- RUN_COMMAND}
- ports:
- - 10000:10000
- ## 环境配置文件
- env_file: .env
- environment:
- ## 声明环境变量
- HADOOP_HOME: ${
- HADOOP_HOME}
- volumes:
- - flink:/streampark/flink/${
- FLINK}
- - /var/run/docker.sock:/var/run/docker.sock
- - /etc/hosts:/etc/hosts:ro
- - ~/.kube:/root/.kube:ro
- privileged: true
- restart: unless-stopped
- networks:
- - streampark
-
- ## flink-jobmanager容器
- flink-jobmanager:
- image: ${
- FLINK_IMAGE}
- ports:
- - "8081:8081"
- command: jobmanager
- volumes:
- - flink:/opt/flink
- env_file: .env
- restart: unless-stopped
- privileged: true
- networks:
- - streampark
-
- ## streampark-taskmanager容器
- flink-taskmanager:
- image: ${
- FLINK_IMAGE}
- depends_on:
- - flink-jobmanager
- command: taskmanager
- deploy:
- replicas: 1
- env_file: .env
- restart: unless-stopped
- privileged: true
- networks:
- - streampark
-
-networks:
- streampark:
- driver: bridge
-
-volumes:
- flink:
-```
-
-最后,执行启动命令:
-
-```shell
-cd docker
-docker-compose up -d
-```
-
-可以使用docker ps来查看是否安装成功,显示如下信息,表示安装成功:
-
-
-
-## 上传配置至容器
-
-在前面的env文件,声明了HADOOP_HOME,对应的目录为 `/streampark/hadoop`,所以需要上传hadoop安装包下的 `/etc/hadoop` 至 `/streampark/hadoop` 目录,命令如下:
-
-```shell
-## 上传hadoop资源
-docker cp etc整个目录 streampark-docker_streampark-console_1:/streampark/hadoop
-## 进入容器
-docker exec -it streampark-docker_streampark-console_1 bash
-## 查看
-ls
-```
-
-
-
-同时,其它配置文件,如maven的settings.xml文件也是以同样的方式上传。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/3.installation.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/3.installation.md
new file mode 100644
index 00000000..4de36075
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/3.installation.md
@@ -0,0 +1,222 @@
+---
+id: 'installation'
+title: '安装部署'
+sidebar_position: 3
+---
+
+import { InstallationEnvs } from '../components/TableData.jsx';
+
+## 1.准备
+
+
+为了顺利成功安装 StreamPark,首先需要准备好如下的环境:
+
+<InstallationEnvs></InstallationEnvs>
+
+## 2.下载
+
+您可以直接从官网下载最新版的 StreamPark,本文使用的是 <u><font color='blue'>[2.1.5版本](https://www.apache.org/dyn/closer.lua/incubator/streampark/2.1.5/apache-streampark_2.12-2.1.5-incubating-bin.tar.gz?action=download)</font></u>,下载地址:<u><font color='blue'>[https://streampark.apache.org/download](https://streampark.apache.org/download/)</font></u>
+
+下载完成后,解压:
+```shell
+# 解压 streampark 安装包.
+tar -zxvf apache-streampark_2.12-2.1.5-incubating-bin.tar.gz
+```
+可以看到解压后的目录如下:
+```textmate
+├── bin
+│ ├── startup.sh //启动脚本
+│ ├── shutdown.sh //停止脚本
+│ └── ......
+├── conf
+│ ├── config.yaml //项目配置文件
+│ └── logback-spring.xml //日志配置文件
+├── lib
+│ └── *.jar //项目的 jar 包
+├── logs //程序 log 目录
+├── script
+│ ├── data
+│ │ ├── mysql-data.sql // mysql的ddl建表sql
+│ │ └── pgsql-data.sql // pgsql的ddl建表sql
+│ ├── schema
+│ │ ├── mysql-schema.sql // mysql的完整初始化数据
+│ │ └── pgsql-schema.sql // pgsql的完整初始化数据
+│ └── upgrade
+│ ├── mysql
+│ │ ├── 1.2.3.sql //升级到 1.2.3版本需要执行的升级sql
+│ │ ├── 2.0.0.sql //升级到 2.0.0版本需要执行的升级sql
+│ │ ├── ......
+│ └── pgsql
+│ └── ......
+└── temp //内部使用到的临时路径,不要删除
+```
+
+## 3.启动
+进入安装目录下的 bin 目录,启动:
+```shell
+# 进入安装目录下的 bin 目录
+cd bin
+
+# 启动程序
+./startup.sh
+```
+:::danger 注意
+启动程序后,可能会报如下错误:streampark.workspace.local: "/tmp/streampark" is an invalid path, please reconfigure in xxx/conf/config.yaml
+:::
+
+这是因为 streampark 的本地工作目录不存在或者是没有指定合法的目录,处理方式很简单,可以直接使用默认配置,在 `/tmp` 目录直接新建 `streampark` 目录:
+```shell
+mkdir -p /tmp/streampark
+```
+或者配置安装路径下的 `conf/config.yaml` 文件的 `streampark.workspace.local` 的属性值为一个合法的本地路径。
+
+再次执行 `startup.sh`,可以看到程序启动成功:
+
+
+访问 StreamPark,地址:[http://127.0.0.1:10000](http://127.0.0.1:10000)
+:::tip 提示
+账号密码: <strong> admin / streampark </strong>
+:::
+
+
+可以看到 **登录成功!**
+
+
+
+## 4.更多
+至此,可以看到项目正常跑起来了,上述的安装是基于默认的 H2 本地数据库来启动程序的,继续来看看如何集成外部的数据库( MySQL 或 Postgresql )。
+
+### 4.1 使用外部数据库
+如果要使用外部数据库,需要修改安装目录下的 `conf/config.yaml` 文件,核心修改内容如下(这里以 `MySQL` 为例子):
+
+```yaml
+datasource:
+ dialect: mysql #这里改为 mysql,默认 h2, 支持 mysql、pgsql
+ h2-data-dir: ~/streampark/h2-data # 如果数据源为 h2, 这里需要配置。如果数据源为 mysql 或者 pgsql, 需要配置剩余的信息(用户名或密码)
+ username: # 数据源连接用户名
+ password: # 数据源连接密码
+ url: # jdbc 连接地址,例如:jdbc:mysql://localhost:3306/streampark?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
+```
+接着需要手动连接外部数据库,并初始化 MySQL 建表脚本(位置:`安装目录 /script/schema/mysql-schema.sql` )以及数据初始化脚本(位置:`安装目录/script/data/mysql-data.sql`)
+
+以上步骤都准备好了,启动服务即可自动连接并使用外部的数据库。
+
+### 4.2 使用 Hadoop
+如果需要部署作业至 YARN,则需要配置 `Hadoop` 相关的环境变量。假如您是基于 CDH 安装的 hadoop 环境, 相关环境变量可以参考如下配置:
+```shell
+export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop #hadoop 安装目录
+export HADOOP_CONF_DIR=/etc/hadoop/conf
+export HIVE_HOME=$HADOOP_HOME/../hive
+export HBASE_HOME=$HADOOP_HOME/../hbase
+export HADOOP_HDFS_HOME=$HADOOP_HOME/../hadoop-hdfs
+export HADOOP_MAPRED_HOME=$HADOOP_HOME/../hadoop-mapreduce
+export HADOOP_YARN_HOME=$HADOOP_HOME/../hadoop-yarn
+```
+:::tip 提示
+StreamPark 服务会自动从上述配置的环境变量里读取 hadoop 路径下的配置,连接 hadoop,上传资源至 hdfs 以及部署作业至 yarn。
+:::
+
+除此,安装目录下的 `conf/config.yaml` 文件可能需要修改(例如指定 `hadoop` 用户、`kerberos` 认证等),核心修改内容如下:
+```yaml
+streampark:
+ workspace:
+ # 存储资源至 hdfs 的根路径
+ remote: hdfs:///streampark/
+ proxy:
+ # hadoop yarn 代理路径, 例如: knox 进程地址 https://streampark.com:8443/proxy/yarn
+ yarn-url:
+ yarn:
+ # 验证类型
+ http-auth: 'simple' # 默认 simple或 kerberos
+ # flink on yarn or spark on yarn, HADOOP_USER_NAME
+ hadoop-user-name: hdfs
+
+# 如果启用了 kerberos 认证,则需要配置如下信息
+security:
+ kerberos:
+ login:
+ debug: false
+ enable: false
+ keytab:
+ krb5:
+ principal:
+```
+
+### 4.3 其它配置
+
+最后附上 config.yaml 的配置详解,可以让您轻松地进一步集成 SSO 或 LDAP 等。
+```yaml
+########################################### 日志相关配置 ###########################################
+logging:
+ level:
+ root: info
+
+########################################### 服务基础配置 ###########################################
+server:
+ port: 10000
+ session:
+ ttl: 2h # 用户登录会话的有效期。如果会话超过这个时间,用户会被自动注销。
+ undertow: # Undertow 服务设置
+ buffer-size: 1024
+ direct-buffers: true
+ threads:
+ io: 16
+ worker: 256
+
+########################################### 数据库相关配置 ###########################################
+datasource:
+ dialect: h2 # 数据库方言,支持 h2、mysql、pgsql
+ h2-data-dir: ~/streampark/h2-data # 如果使用 h2 数据库,则需要配置数据目录
+ username:
+ password:
+ url: # 数据库连接URL,示例: jdbc:mysql://localhost:3306/streampark?......
+
+########################################### 项目基础配置 ###########################################
+streampark:
+ ## 工作区配置,分为本地和 hdfs 工作区,用于相关不同类型的资源
+ workspace:
+ local: /tmp/streampark
+ remote: hdfs:///streampark/
+ ## 代理相关
+ proxy:
+ lark-url: # 飞书代理地址
+ yarn-url: # Yarn 的代理路径
+ ## yarn相关
+ yarn:
+ http-auth: 'simple' # 认证方式
+ hadoop-user-name: hdfs # 配置 Hadoop 用户名
+ ## 项目管理相关
+ project:
+ max-build: 16 # 同时运行的最大项目数量。
+ ## 开发接口相关
+ openapi:
+ white-list: # 配置开放 API 的白名单
+
+########################################### kerberos 认证配置 ###########################################
+security:
+ kerberos:
+ login:
+ debug: false
+ enable: false
+ keytab:
+ krb5:
+ principal:
+ ttl: 2h
+
+########################################### ldap 认证配置 ###########################################
+ldap:
+ base-dn: dc=streampark,dc=com
+ enable: false
+ username: cn=Manager,dc=streampark,dc=com
+ password: streampark
+ urls: ldap://99.99.99.99:389
+ user:
+ email-attribute: mail
+ identity-attribute: uid
+
+```
+
+当然,您也可以登录平台的设置中心去配置其它内容,包括:Maven、Docker、Kubernetes 或邮箱等。
+
+
+期待您的进一步探索~
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/4.installationDocker.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/4.installationDocker.md
new file mode 100644
index 00000000..a8875024
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/4.installationDocker.md
@@ -0,0 +1,113 @@
+---
+id: 'installation-docker'
+title: '安装部署(Docker)'
+sidebar_position: 4
+---
+
+import { DockerInstallationEnvs } from '../components/TableData.jsx';
+
+## 1.环境准备
+
+
+如果要使用 Docker 的方式安装 StreamPark,需要准备好如下的环境:
+
+<DockerInstallationEnvs></DockerInstallationEnvs>
+
+:::note 备注
+本文默认已经安装好 `Docker` 和 `Docker compose`
+:::
+
+## 2.打包镜像
+本文讲解的是以手动的方式打包镜像,首先按照如下命令下载 StreamPark 源码,切换分支后把打包好的安装包放到 `dist` 目录:
+```yaml
+## 克隆源码到本地
+git clone https://github.com/apache/streampark.git
+
+## 进入 docker 目录
+cd streampark/docker
+
+## 切换到期望打包的分支,这里为 release-2.1.5 分支
+git checkout release-2.1.5
+
+## 创建dist目录
+mkdir dist
+```
+:::tip
+创建好 dist 目录之后,可以把打包好或已下载的安装包放到 dist 目录里面,这里为了方便演示,直接从官网下载的安装包。
+:::
+
+下载地址:<u><font color='blue'>[https://streampark.apache.org/download](https://streampark.apache.org/download/)</font></u>
+
+接着可以开始打包镜像了:
+```yaml
+## 注意: 这里已经把安装包放到dist目录了
+# cp path/to/apache-streampark_2.12-2.1.5-incubating-bin.tar.gz dist
+
+## 打包镜像,注意镜像名的格式为:<apache/streampark>:<版本号>,注意后面不要漏了 "."
+docker build -t apache/streampark:2.1.5 .
+
+## 打包成功后,可以使用命令查看镜像是否已经打包成功
+docker images|grep streampark
+```
+使用 docker 命令可以查看到镜像已经打包成功,如图所示:
+
+
+## 3.启动服务
+在当前 StreamPark 源码的 docker 目录,可以使用 docker-compose 命令来启动服务:
+```shell
+docker-compose up -d
+```
+启动成功后,可以使用命令查看 StreamPark 服务是否运行正常:
+```shell
+docker ps -a|grep streampark
+```
+从下图可以看到,StreamPark 服务启动成功:
+
+
+访问 StreamPark,地址:[http://127.0.0.1:10000](http://127.0.0.1:10000)
+:::tip 提示
+账号密码: <strong> admin / streampark </strong>
+:::
+
+
+可以看到 **登录成功!**
+
+
+
+## 4.配置详解
+从上面可以得知 StreamPark 是使用 docker-compose 命令来启动的,而 docker-compose.yaml 文件是一个用于定义和管理多容器 Docker 应用程序的配置文件,其内容及解析如下:
+```yaml
+version: '3.8'
+
+services:
+ streampark:
+ image: apache/streampark:2.1.5 # 使用前面打包好的镜像
+ ports:
+ - "10000:10000" # 将容器的 10000 端口映射到主机的 10000 端口,允许访问该端口上的服务
+ environment:
+ - TZ=Asia/Shanghai # 容器内时区
+ - DATASOURCE_DIALECT=h2 # 设置数据源方言,支持 h2, mysql, pgsql,当前为 h2
+ # 如果使用 MySQL 或 PostgreSQL 数据库,需设置以下参数
+ # - DATASOURCE_URL=jdbc:mysql://localhost:3306/streampark?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
+ # - DATASOURCE_URL=jdbc:postgresql://localhost:5432/streampark?stringtype=unspecified
+ # - DATASOURCE_USERNAME=root # 数据库用户名
+ # - DATASOURCE_PASSWORD=streampark # 数据库密码
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock # 将主机的 Docker 套接字挂载到容器内,允许容器内的进程与 Docker 进行交互
+ - /etc/hosts:/etc/hosts:ro # 将主机的 /etc/hosts 文件挂载到容器内,容器只读访问该文件
+ - ~/.kube:/root/.kube:ro # 将主机的 kube 配置目录挂载到容器中,以便访问 Kubernetes 集群
+ privileged: true # 给予容器更高权限,通常用于需要与宿主机资源交互的场景
+ restart: always # 容器崩溃或主机重启后总是自动重启容器
+ networks:
+ - streampark # 使用名为 streampark 的自定义网络
+ healthcheck: # 设置健康检查
+ test: [ "CMD", "curl", "http://streampark:10000" ] # 使用 curl 检查容器的 10000 端口是否可访问
+ interval: 5s # 健康检查的间隔时间为 5 秒
+ timeout: 5s # 每次健康检查的超时时间为 5 秒
+ retries: 120 # 如果健康检查失败,容器将在 120 次失败后被认为不可用
+
+networks:
+ streampark:
+ driver: bridge # 使用桥接网络驱动
+```
+
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/4.platformBasicUsage.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/4.platformBasicUsage.md
deleted file mode 100644
index 6d89f3cd..00000000
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/4.platformBasicUsage.md
+++ /dev/null
@@ -1,359 +0,0 @@
----
-id: 'how-to-use'
-title: '平台快速上手'
-sidebar_position: 4
----
-
-# 快速上手
-> 说明:该部分旨在通过简单的操作步骤,体验使用StreamPark平台提交flink作业的便捷流程。
-
-## 配置FLINK_HOME
-
-
-
-> 点击"OK",保存
-
-
-## 配置Flink Cluster
-> 根据flink 部署模式 以及 资源管理方式,StreamPark 支持以下6种作业模式
-> - **Standalone Session**
-> - **Yarn Session**
-> - **Yarn Per-job**
-> - **Yarn Application**
-> - **K8s Session**
-> - **K8s Application**
->
-本次选取较为简单的 Standalone Session 模式(**下图绿色连线**),快速上手。
-
-
-
-### 服务器启动 flink Standalone Session
-```bash
-start-cluster.sh
-```
-
-> 页面访问:[http://hadoop:8081/](http://hadoop:8081/)
-
-
-### 配置Flink Cluster
-
-
-
-
-
-
-
-
-## 创建作业
-
-### 主要参数
-> - Development Mode: 选择 “Flink SQL”
-> - Execution Mode: 选择 “remote”
-> - Flink Version: 选择 "flink-1.14", 即 “1.1 配置FLINK_HOME”里面配置的
-> - Flink Cluster: 选择 “myStandalonSession”, 即“1.2 配置FLINK Cluster”里面配置的
-> - Flink SQL: 详见下面示例
-> - Application Name: 作业名称
-
-### 创建作业
-
-
-
-
-
-
-### 保存作业
-> 点击 蓝色“Submit”按钮,提交作业
-
-
-
-
-
-## 构建作业
-
-> 构建成功
-
-
-
-## 启动作业
-
-
-### 启动检查点设置
-
-
-### 提交作业
-
-
-
-## 查看作业状态
-### 通过Apache StreamPark™看板查看
-> StreamPark dashboard
-
-
-
-> 查看作业详情
-
-
-
-
-
-### 查看原生 flink web ui
-
-
-
-
-> 至此,一个使用StreamPark平台提交flink job的流程基本完成。下面简单总结下StreamPark平台管理flink作业的大致流程。
-
-## Apache StreamPark™平台管理flink job的流程
-
-
-> 通过 StreamPark 平台 停止、修改、删除 flink job 相对简单,大家可自行体验,需要说明的一点是:**若作业为running状态,则不可删除,需先停止**。
-
-
-# Apache StreamPark™系统模块简介
-## 系统设置
-> 菜单位置
-
-
-
-### User Management
-> 用于管理StreamPark平台用户
-
-
-### Token Management
-> 允许用户以Restful api形式操作flink job
-
-
-
-
-
-```bash
-curl -X POST '/flink/app/cancel' \
--H 'Authorization: 69qMW7reOXhrAh29LjPWwwP+quFqLf++MbPbsB9/NcTCKGzZE2EU7tBUBU5gqG236VF5pMyVrsE5K7hBWiyuLuJRqmxKdPct4lbGrjZZqkv5lBBYExxYVMIl+f5MZ9dbqqslZifFx3P4A//NYgGwkx5PpizomwkE+oZOqg0+c2apU0UZ9T7Dpnu/tPLk9g5w9q+6ZS2p+rTllPiEgyBnSw==' \
--H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \
---data-urlencode 'savePoint=' \
---data-urlencode 'id=100001' \
---data-urlencode 'savePointed=false' \
---data-urlencode 'drain=false' \
--i
-```
-### Role Management
-> 用户角色:目前有2种,develop 和 admin。
-
-
-
-### Team Management
-> 团队:用于区分管理企业不同团队的作业。
-
-
-
-### Member Management
-> (团队)成员管理
-
-
-
-### Menu Management
-> 管理系统菜单
-
-
-
-## Apache StreamPark™菜单模块
-### Project
-> StreamPark结合代码仓库实现CICD
-
-
-> 使用时,点击 “+ Add new ”,配置repo信息,保存。
-
-
-
-
-
-### Application
-> **核心模块:用于对 flink job 全生命周期(创建、构建、启动、停止、删除等)管理。**
-
-
-### Variable
-> 变量管理:管理变量,可在Application 作业创建时使用。
-
-
-
-
-
-
-
-### Setting
-#### System Setting
-> 用于系统配置:Maven 、 Docker 、 alert email、Ingress
-
-
-
-
-
-
-
-
-
-#### Alert Setting
-> 支持多种告警通知模式
-
-
-
-#### Flink Home
-> 【**待完善**】可对flink作业进行一些操作,如对flink sql校验等
-
-
-
-
-
-
-
-#### Flink Cluster
-> - Session模式执行flink作业,根据资源管理方式不同,可以分为3种:Standalone、Yarn、K8s
-> - 【**待完善**】应用场景:资源充足,作业之间隔离性需求不是很强的场景
-> - 关于session模式,详见:[https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/deployment/overview/#session-mode](https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/deployment/overview/#session-mode)
-
-
-
-
-
-
-
-
-# 原生flink 与 Apache StreamPark™关联使用
-> 【**待完善**】其实,个人理解,StreamPark一大特点是对flink原生作业的管理模式在用户使用层面进行了优化,使得用户能利用该平台快速开发、部署、运行、监控flink作业。所以,想表达的意思是:如果用户对原生flink比较熟悉的话,那StreamPark使用起来就会更加得心应手。
-
-## flink部署模式
-> 下面内容摘自 **张利兵 老师 极客时间专栏** 《[Flink核心技术与实战](https://time.geekbang.org/course/intro/100058801)》
-
-### 原生flink集群部署模式
-
-
-
-
-
-
-
-
-
-
-
-
-### 如何在Apache StreamPark™中使用
-> **Session 模式**
-
-1. 配置 Flink Cluster
-
-
-
-2. 创建作业时在 Execution Mode选择对应资源管理器的model 和 已经建立好的Flink Cluster
-
-
-> **Application 模式**
-
-
-
-
-
-
-
-
-
-## 设置作业参数
-### 原生flink作业参数
-> 官网:[https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/deployment/config/](https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/deployment/config/)
-
-> 原生提交命令(含参数)
-
-```bash
-flink run-application -t yarn-application \
- -Dyarn.provided.lib.dirs="hdfs://myhdfs/my-remote-flink-dist-dir" \
- hdfs://myhdfs/jars/my-application.jar
-```
-### 如何在Apache StreamPark™中使用
-> 创建 或 修改 作业时,在“Dynamic Properties”里面按指定格式添加即可
-
-
-
-## 告警策略
-> 【**待完善**】
-
-### 原生flink重启机制
-> 参考:[https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/ops/state/task_failure_recovery/](https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/ops/state/task_failure_recovery/)
-
-
-
-### 如何在Apache StreamPark™中使用
-> 【**待完善**】一般在作业失败或出现异常时,会触发告警
-
-1. 配置告警通知
-
-
-
-
-
-2. 创建 或 修改 作业时,在"Fault Alert Template"、“CheckPoint Failure Options”里面配置即可
-
-
-
-## cp/sp
-> 【**待完善**】
-
-### 原生flink checkpoint 和 savepoint
-> cp: [https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/dev/datastream/fault-tolerance/checkpointing/](https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/dev/datastream/fault-tolerance/checkpointing/)
-> sp: [https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/ops/state/savepoints/](https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/ops/state/savepoints/)
-
-
-
-### 如何在Apache StreamPark™中配置savepoint
-> 当停止作业时,可以让用户设置savepoint
-
-
-
-
-
-
-
-> 查看savepoint
-
-
-
-
-
-### 如何在Apache StreamPark™中由指定savepoint恢复作业
-> 启动作业时,会让选择
-
-
-
-## 作业状态
-> 【**待完善**】
-
-### 原生flink 作业状态
-> 参考:[https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/internals/job_scheduling/#jobmanager-%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84](https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/internals/job_scheduling/#jobmanager-%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84)
-
-### Apache StreamPark™中的作业状态
-> 【**待完善**】
-
-
-## 作业详情
-### 原生flink作业详情
-> 通过 “[Apache Flink® Dashboard](http://hadoop:8088/proxy/application_1701871016253_0004/#/)”查看
-
-
-
-### Apache StreamPark™中作业详情
-
-
-> 同时在k8s模式下的作业,StreamPark还支持启动日志实时展示,如下
-
-
-
-## 如何与第三方系统集成
-### 原生flink如何与第三方系统集成
-> 原生flink提供了 rest api
-> 参考:[https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/ops/rest_api/](https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/ops/rest_api/)
-
-### Apache StreamPark™如何与第三方系统集成
-> 也提供了Restful Api,支持与其他系统对接,
-> 比如:开启作业 启动|停止 restapi 接口
-
-
-
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/5.upgrades.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/5.upgrades.md
new file mode 100644
index 00000000..6ff0d7bd
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/get-started/5.upgrades.md
@@ -0,0 +1,96 @@
+---
+id: 'upgrades'
+title: '升级更新'
+sidebar_position: 5
+---
+## 1.下载安装包
+如果需要升级 StreamPark 程序,您可以直接从官网下载最新版的安装包,例如下载的是 <u><font color='blue'>[2.1.5版本](https://www.apache.org/dyn/closer.lua/incubator/streampark/2.1.5/apache-streampark_2.12-2.1.5-incubating-bin.tar.gz?action=download)</font></u>,下载地址:<u><font color='blue'>[https://streampark.apache.org/download](https://streampark.apache.org/download/)</font></u>
+
+下载完成后,解压:
+```shell
+# 解压 streampark 安装包.
+tar -zxvf apache-streampark_2.12-2.1.5-incubating-bin.tar.gz
+```
+可以看到解压后的目录如下:
+```textmate
+├── bin
+│ ├── startup.sh //启动脚本
+│ ├── shutdown.sh //停止脚本
+│ └── ......
+├── conf
+│ ├── config.yaml //项目配置文件
+│ └── logback-spring.xml //日志配置文件
+├── lib
+│ └── *.jar //项目的 jar 包
+├── logs //程序 log 目录
+├── script
+│ ├── data
+│ │ ├── mysql-data.sql // mysql的ddl建表sql
+│ │ └── pgsql-data.sql // pgsql的ddl建表sql
+│ ├── schema
+│ │ ├── mysql-schema.sql // mysql的完整初始化数据
+│ │ └── pgsql-schema.sql // pgsql的完整初始化数据
+│ └── upgrade
+│ ├── mysql
+│ │ ├── 1.2.3.sql //升级到 1.2.3版本需要执行的升级sql
+│ │ ├── 2.0.0.sql //升级到 2.0.0版本需要执行的升级sql
+│ │ ├── 2.1.0.sql //升级到 2.1.0版本需要执行的升级sql
+│ │ ├── 2.1.2.sql //升级到 2.1.2版本需要执行的升级sql
+│ │ ├── 2.1.3.sql //升级到 2.1.3版本需要执行的升级sql
+│ │ ├── 2.1.4.sql //升级到 2.1.4版本需要执行的升级sql
+│ │ └── 2.1.5.sql //升级到 2.1.5版本需要执行的升级sql
+│ └── pgsql
+│ └── ......
+└── temp //内部使用到的临时路径,不要删除
+```
+:::note 备注
+可以看到升级脚本在 `script/upgrade` 文件夹下。
+:::
+
+## 2.执行升级脚本
+从上述的安装包解压后的 `script/upgrade` 路径下可以看到,分为了 mysql 和 pgsql 两种数据源的脚本升级目录,目录下有多个升级脚本。
+```yaml
+......
+
+├── script
+│ ├── data
+│ │ ├── mysql-data.sql // mysql的ddl建表sql
+│ │ └── pgsql-data.sql // pgsql的ddl建表sql
+│ ├── schema
+│ │ ├── mysql-schema.sql // mysql的完整初始化数据
+│ │ └── pgsql-schema.sql // pgsql的完整初始化数据
+│ └── upgrade
+│ ├── mysql
+│ │ ├── 1.2.3.sql //升级到 1.2.3版本需要执行的升级sql
+│ │ ├── 2.0.0.sql //升级到 2.0.0版本需要执行的升级sql
+│ │ ├── 2.1.0.sql //升级到 2.1.0版本需要执行的升级sql
+│ │ ├── 2.1.2.sql //升级到 2.1.2版本需要执行的升级sql
+│ │ ├── 2.1.3.sql //升级到 2.1.3版本需要执行的升级sql
+│ │ ├── 2.1.4.sql //升级到 2.1.4版本需要执行的升级sql
+│ │ └── 2.1.5.sql //升级到 2.1.5版本需要执行的升级sql
+│ └── pgsql
+│ └── ......
+
+......
+```
+:::caution 注意
+这些脚本都需要根据升级前的版本来按顺序依次执行
+:::
+
+例如程序使用外部的数据库为MySQL:
+- · 当前的版本为:`2.1.2`,则需要依次执行 `2.1.3.sql` → `2.1.4.sql` → `2.1.5.sql`;
+- · 当前的版本为:`2.1.3`,则需要依次执行 `2.1.4.sql` → `2.1.5.sql`;
+- · 当前的版本为:`2.1.4`,则需要执行 `2.1.5.sql`;
+
+## 3.修改配置
+只需要保证最新的配置文件(`/conf/config.yaml)与历史配置一致即可:
+```yaml
+......
+
+├── conf
+│ ├── config.yaml //项目配置文件
+
+......
+```
+
+最后启动程序即可完成升级更新操作~
\ No newline at end of file
diff --git a/static/doc/image/quick-start/cicd.png b/static/doc/image/quick-start/cicd.png
new file mode 100644
index 00000000..e454c42d
Binary files /dev/null and b/static/doc/image/quick-start/cicd.png differ
diff --git a/static/doc/image/quick-start/connectors.png b/static/doc/image/quick-start/connectors.png
new file mode 100644
index 00000000..49111890
Binary files /dev/null and b/static/doc/image/quick-start/connectors.png differ
diff --git a/static/doc/image/quick-start/docker_build_success.png b/static/doc/image/quick-start/docker_build_success.png
new file mode 100644
index 00000000..71fcb453
Binary files /dev/null and b/static/doc/image/quick-start/docker_build_success.png differ
diff --git a/static/doc/image/quick-start/docker_start_success.png b/static/doc/image/quick-start/docker_start_success.png
new file mode 100644
index 00000000..3e75145b
Binary files /dev/null and b/static/doc/image/quick-start/docker_start_success.png differ
diff --git a/static/doc/image/quick-start/flink_cluster.png b/static/doc/image/quick-start/flink_cluster.png
new file mode 100644
index 00000000..07ef270a
Binary files /dev/null and b/static/doc/image/quick-start/flink_cluster.png differ
diff --git a/static/doc/image/quick-start/flink_home.png b/static/doc/image/quick-start/flink_home.png
new file mode 100644
index 00000000..6caf7340
Binary files /dev/null and b/static/doc/image/quick-start/flink_home.png differ
diff --git a/static/doc/image/quick-start/job_config.png b/static/doc/image/quick-start/job_config.png
new file mode 100644
index 00000000..c45ffb7b
Binary files /dev/null and b/static/doc/image/quick-start/job_config.png differ
diff --git a/static/doc/image/quick-start/job_config_detail.png b/static/doc/image/quick-start/job_config_detail.png
new file mode 100644
index 00000000..3383cb9e
Binary files /dev/null and b/static/doc/image/quick-start/job_config_detail.png differ
diff --git a/static/doc/image/quick-start/job_detail.png b/static/doc/image/quick-start/job_detail.png
new file mode 100644
index 00000000..f01ed799
Binary files /dev/null and b/static/doc/image/quick-start/job_detail.png differ
diff --git a/static/doc/image/quick-start/job_release.png b/static/doc/image/quick-start/job_release.png
new file mode 100644
index 00000000..6e751bc1
Binary files /dev/null and b/static/doc/image/quick-start/job_release.png differ
diff --git a/static/doc/image/quick-start/job_start.png b/static/doc/image/quick-start/job_start.png
new file mode 100644
index 00000000..864247ca
Binary files /dev/null and b/static/doc/image/quick-start/job_start.png differ
diff --git a/static/doc/image/quick-start/job_start_success.png b/static/doc/image/quick-start/job_start_success.png
new file mode 100644
index 00000000..3783e645
Binary files /dev/null and b/static/doc/image/quick-start/job_start_success.png differ
diff --git a/static/doc/image/quick-start/login_page.png b/static/doc/image/quick-start/login_page.png
new file mode 100644
index 00000000..9dbd0cf2
Binary files /dev/null and b/static/doc/image/quick-start/login_page.png differ
diff --git a/static/doc/image/quick-start/login_success.png b/static/doc/image/quick-start/login_success.png
new file mode 100644
index 00000000..e184c36b
Binary files /dev/null and b/static/doc/image/quick-start/login_success.png differ
diff --git a/static/doc/image/quick-start/mutiple_version.png b/static/doc/image/quick-start/mutiple_version.png
new file mode 100644
index 00000000..4fbe57cc
Binary files /dev/null and b/static/doc/image/quick-start/mutiple_version.png differ
diff --git a/static/doc/image/quick-start/one_key_install.png b/static/doc/image/quick-start/one_key_install.png
new file mode 100644
index 00000000..a30b4e36
Binary files /dev/null and b/static/doc/image/quick-start/one_key_install.png differ
diff --git a/static/doc/image/quick-start/setting_center.png b/static/doc/image/quick-start/setting_center.png
new file mode 100644
index 00000000..64dd9437
Binary files /dev/null and b/static/doc/image/quick-start/setting_center.png differ
diff --git a/static/doc/image/quick-start/startup_success.png b/static/doc/image/quick-start/startup_success.png
new file mode 100644
index 00000000..55c32a1e
Binary files /dev/null and b/static/doc/image/quick-start/startup_success.png differ