This is an automated email from the ASF dual-hosted git repository.

kirs pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler-website.git


The following commit(s) were added to refs/heads/master by this push:
     new b3008dc  Refactor installation and add alert sub menu (#465)
b3008dc is described below

commit b3008dc2edc0f79b3923619cdad831d610f1acf4
Author: Jiajie Zhong <[email protected]>
AuthorDate: Mon Oct 25 11:26:33 2021 +0800

    Refactor installation and add alert sub menu (#465)
    
    * Refactor installation and add alert submeue
    
    * Add standalone to installation
    * Rename old standalone to preudo-cluster
    * Add notice about what's the difference between those installation
    * Add new sub mune `alert`
    * Move some content from installation to resource or faq
    * Remove some useless images
    
    * Remove dev quick start
---
 docs/en-us/dev/user_doc/dev_quick_start.md         |  59 ---
 .../dev/user_doc/guide/alert/enterprise-wechat.md  |  29 ++
 .../dev/user_doc/guide/installation/cluster.md     | 419 +-----------------
 .../dev/user_doc/guide/installation/kubernetes.md  |   4 +
 .../user_doc/guide/installation/pseudo-cluster.md  | 196 ++++++++
 .../dev/user_doc/guide/installation/standalone.md  | 349 +--------------
 docs/en-us/dev/user_doc/guide/resource.md          |   7 +
 docs/en-us/release/faq.md                          |  43 +-
 docs/zh-cn/dev/user_doc/dev_quick_start.md         |  47 --
 .../dev/user_doc/guide/alert/enterprise-wechat.md  |  29 ++
 .../dev/user_doc/guide/installation/cluster.md     | 491 +--------------------
 .../dev/user_doc/guide/installation/kubernetes.md  |   5 +
 .../user_doc/guide/installation/pseudo-cluster.md  | 195 ++++++++
 .../dev/user_doc/guide/installation/standalone.md  | 345 +--------------
 docs/zh-cn/dev/user_doc/guide/resource.md          |   7 +
 docs/zh-cn/release/faq.md                          |  42 ++
 img/alert/agentid.png                              | Bin 68923 -> 0 bytes
 img/alert/corpid.png                               | Bin 163216 -> 0 bytes
 img/alert/secret.png                               | Bin 85216 -> 0 bytes
 img/alert/userid.png                               | Bin 111350 -> 0 bytes
 site_config/docsdev.js                             |  34 +-
 21 files changed, 672 insertions(+), 1629 deletions(-)

diff --git a/docs/en-us/dev/user_doc/dev_quick_start.md 
b/docs/en-us/dev/user_doc/dev_quick_start.md
deleted file mode 100644
index 9265454..0000000
--- a/docs/en-us/dev/user_doc/dev_quick_start.md
+++ /dev/null
@@ -1,59 +0,0 @@
-Note: Only for standalone development debugging use. The default option is H2 
Database and Zookeeper Testing Server.
-For testing the plugin, you can modify the plugin.bind in StandaloneServer or 
modify the configuration file. Please check the plugin description for details.
-
-#### 1. Download the source Code
-
-GitHub :https://github.com/apache/dolphinscheduler
-
-```shell
-mkdir dolphinscheduler
-cd dolphinscheduler
-git clone [email protected]:apache/dolphinscheduler.git
-```
-
-We use the dev branch here.
-
-#### 2. Start backend
-
-```shell
-mvn install -DskipTests
-```
-
-Just start org.apache.dolphinscheduler.server.StandaloneServer directly.
-
-#### 3. Set up the front-end
-
-##### i. Install node
-
-######  a. Install nvm
-
-curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
-
-######  b. Refresh the environment variables
-
- source ~/.bash_profile
-
-######  c. Install node
-
- nvm install v12.20.2
-
-note: Mac users could install npm through brew: brew install npm
-
-###### d. Validate the node installation
-
- node --version
-
-##### ii. cd dolphinscheduler-ui and run the following commands:
-
-```shell
-npm install
-npm run start
-```
-
-##### iii. Visit [http://localhost:8888](http://localhost:8888/)
-
-##### iv. Sign in with the administrator account
-
->    username: admin
->
->    password: dolphinscheduler123
diff --git a/docs/en-us/dev/user_doc/guide/alert/enterprise-wechat.md 
b/docs/en-us/dev/user_doc/guide/alert/enterprise-wechat.md
new file mode 100644
index 0000000..a7d2569
--- /dev/null
+++ b/docs/en-us/dev/user_doc/guide/alert/enterprise-wechat.md
@@ -0,0 +1,29 @@
+# Enterprise WeChat
+
+If you need to use Enterprise WeChat to alert, please modify the 
`alert.properties` file after the installation is complete, and then restart 
the alert service. The configuration example of enterprise WeChat is as follows
+
+```shell
+# Enable enterprise WeChat alarm or not: ``true`` or ``false``
+enterprise.wechat.enable="true"
+
+# Enterprise WeChat corpid, each enterprise has a unique corpid, to obtain 
this information, you can view the "enterprise ID" under "My 
Company"-"Enterprise Information" in the management background (administrator 
rights are required)
+enterprise.wechat.corp.id="xxx"
+
+# Secret for Enterprise WeChat, secret is the "key" used to ensure data 
security in enterprise applications, and each application has an independent 
access key
+enterprise.wechat.secret="xxx"
+
+# Enterprise WeChat agentid, each application has a unique agentid. In the 
management background -> "Apps and applets" -> "Apps", click on an application, 
you can see the agentid
+enterprise.wechat.agent.id="xxxx"
+
+# Userid when notification send to Enterprise WeChat, multiple separated by 
commas. Each member has a unique userid, the so-called "account". In the 
management background -> "Contacts" -> click on a member's details page, you 
can see
+enterprise.wechat.users=zhangsan,lisi
+
+# Get the address of access_token, modify if you need
+enterprise.wechat.token.url=https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpId}&corpsecret={secret}
+
+# Send application message address, modify if you need
+enterprise.wechat.push.url=https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}
+
+# Message format
+enterprise.wechat.user.send.msg={\"touser\":\"{toUser}\",\"agentid\":\"{agentId}\",\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"{msg}\"}}
+```
diff --git a/docs/en-us/dev/user_doc/guide/installation/cluster.md 
b/docs/en-us/dev/user_doc/guide/installation/cluster.md
index fa95174..0c3b390 100644
--- a/docs/en-us/dev/user_doc/guide/installation/cluster.md
+++ b/docs/en-us/dev/user_doc/guide/installation/cluster.md
@@ -1,406 +1,35 @@
 # Cluster Deployment
 
-# 1、Before you begin (please install requirement basic software by yourself)
+Cluster deployment is to deploy the DolphinScheduler on multiple machines for 
running a large number of tasks in production.
 
- * PostgreSQL (8.2.15+) or MySQL (5.7) : Choose One, JDBC Driver 8.0.16+ is 
required if MySQL is used. If you upgrade from version 1.x to 2.x, remember 
update mysql connector by yourself.
- * [JDK](https://www.oracle.com/technetwork/java/javase/downloads/index.html) 
(1.8+) : Required. Double-check configure JAVA_HOME and PATH environment 
variables in /etc/profile
- * ZooKeeper (3.4.6+) : Required
- * pstree or psmisc : "pstree" is required for Mac OS and "psmisc" is required 
for Fedora/Red/Hat/CentOS/Ubuntu/Debian
- * Hadoop (2.6+) or MinIO : Optional. If you need to upload a resource 
function, you can choose a local file directory as the upload folder for a 
single machine (this operation does not need to deploy Hadoop). Of course, you 
can also choose to upload to Hadoop or MinIO.
+If you are a green hand and want to experience DolphinScheduler, we 
recommended you install follow [Standalone](standalone.md). If you want to 
experience more complete functions or schedule large tasks number, we 
recommended you install follow [pseudo-cluster deployment](pseudo-cluster.md). 
If you want to using DolphinScheduler in production, we recommended you follow 
[cluster deployment](cluster.md) or [kubernetes](kubernetes.md)
 
-```markdown
- Tips: DolphinScheduler itself does not rely on Hadoop, Hive, Spark, only use 
their clients for the corresponding task of running.
-```
-
-# 2、Download the binary package.
-
-- Please download the latest version of the default installation package to 
the server deployment directory. For example, use /opt/dolphinscheduler as the 
installation and deployment directory. Download address: 
[Download](/en-us/download/download.html),Download the package and move to the 
installation and deployment directory. Then uncompress it.
-
-```shell
-# Create the deployment directory. Do not choose a deployment directory with a 
high-privilege directory such as / root or / home.
-mkdir -p /opt/dolphinscheduler;
-cd /opt/dolphinscheduler;
-# uncompress
-tar -zxvf apache-dolphinscheduler-1.3.8-bin.tar.gz -C /opt/dolphinscheduler;
-
-mv apache-dolphinscheduler-1.3.8-bin  dolphinscheduler-bin
-```
-
-# 3、Create deployment user and hosts mapping
-
-- Create a deployment user on the ** all ** deployment machines, and be sure 
to configure sudo passwordless. If we plan to deploy DolphinScheduler on 4 
machines: ds1, ds2, ds3, and ds4, we first need to create a deployment user on 
each machine.
-
-```shell
-# To create a user, you need to log in as root and set the deployment user 
name. Please modify it yourself. The following uses dolphinscheduler as an 
example.
-useradd dolphinscheduler;
-
-# Set the user password, please modify it yourself. The following takes 
dolphinscheduler123 as an example.
-echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
-
-# Configure sudo passwordless
-echo 'dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' >> /etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
-
-```
-
-```
- Notes:
- - Because the task execution service is based on 'sudo -u {linux-user}' to 
switch between different Linux users to implement multi-tenant running jobs, 
the deployment user needs to have sudo permissions and is passwordless. The 
first-time learners can ignore it if they don't understand.
- - If find the "Default requiretty" in the "/etc/sudoers" file, also comment 
out.
- - If you need to use resource upload, you need to assign the user of 
permission to operate the local file system, HDFS or MinIO.
-```
-
-# 4、Configure hosts mapping and ssh access and modify directory permissions.
-
-- Use the first machine (hostname is ds1) as the deployment machine, configure 
the hosts of all machines to be deployed on ds1, and login as root on ds1.
-
-  ```shell
-  vi /etc/hosts
-
-  #add ip hostname
-  192.168.xxx.xxx ds1
-  192.168.xxx.xxx ds2
-  192.168.xxx.xxx ds3
-  192.168.xxx.xxx ds4
-  ```
-
-  *Note: Please delete or comment out the line 127.0.0.1*
-
-- Sync /etc/hosts on ds1 to all deployment machines
-
-  ```shell
-  for ip in ds2 ds3;     # Please replace ds2 ds3 here with the hostname of 
machines you want to deploy
-  do
-      sudo scp -r /etc/hosts  $ip:/etc/          # Need to enter root password 
during operation
-  done
-  ```
-
-  *Note: can use `sshpass -p xxx sudo scp -r /etc/hosts $ip:/etc/` to avoid 
type password.*
-
-  > Install sshpass in Centos:
-  >
-  > 1. Install epel
-  >
-  >    yum install -y epel-release
-  >
-  >    yum repolist
-  >
-  > 2. After installing epel, you can install sshpass
-  >
-  >    yum install -y sshpass
-  >
-  >
-
-- On ds1, switch to the deployment user and configure ssh passwordless login
-
-  ```shell
-   su dolphinscheduler;
-
-  ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
-  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-  chmod 600 ~/.ssh/authorized_keys
-  ```
-​      Note: *If configure success, the dolphinscheduler user does not need to 
enter a password when executing the command `ssh localhost`*
-
-
-
-- On ds1, configure the deployment user dolphinscheduler ssh to connect to 
other machines to be deployed.
-
-  ```shell
-  su dolphinscheduler;
-  for ip in ds2 ds3;     # Please replace ds2 ds3 here with the hostname of 
the machine you want to deploy.
-  do
-      ssh-copy-id  $ip   # You need to manually enter the password of the 
dolphinscheduler user during the operation.
-  done
-  # can use `sshpass -p xxx ssh-copy-id $ip` to avoid type password.
-  ```
-
-- On ds1, modify the directory permissions so that the deployment user has 
operation permissions on the dolphinscheduler-bin directory.
-
-  ```shell
-  sudo chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-bin
-  ```
-
-# 5、Database initialization
-
-- Into the database. The default database is PostgreSQL. If you select MySQL, 
you need to add the mysql-connector-java driver package to the lib directory of 
DolphinScheduler.
-```
-mysql -h192.168.xx.xx -P3306 -uroot -p
-```
-
-- After entering the database command line window, execute the database 
initialization command and set the user and password. **Note: {user} and 
{password} need to be replaced with a specific database username and password**
-
- ``` mysql
-    mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT 
COLLATE utf8_general_ci;
-    mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' 
IDENTIFIED BY '{password}';
-    mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' 
IDENTIFIED BY '{password}';
-    mysql> flush privileges;
- ```
-
-- Create tables and import basic data
-
-    - Modify the following configuration in datasource.properties under the 
conf directory
-
-    ```shell
-      vi conf/datasource.properties
-    ```
-
-    - If you choose Mysql, please comment out the relevant configuration of 
PostgreSQL (vice versa), you also need to manually add the 
[[mysql-connector-java driver jar] 
(https://downloads.mysql.com/archives/c-j/)](make sure download version 
8.0.16+, 8.0.16 is be recommended) package to lib under the directory, and then 
configure the database connection information correctly.
-
-    ```properties
-      #postgre
-      #spring.datasource.driver-class-name=org.postgresql.Driver
-      #spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler
-      # mysql
-      spring.datasource.driver-class-name=com.mysql.jdbc.Driver
-      
spring.datasource.url=jdbc:mysql://xxx:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
     # Replace the correct IP address
-      spring.datasource.username=xxx                                           
# replace the correct {user} value
-      spring.datasource.password=xxx                                           
# replace the correct {password} value
-    ```
-
-    - After modifying and saving, execute the create table and import data 
script in the script directory.
-
-    ```shell
-    sh script/create-dolphinscheduler.sh
-    ```
-
-​       *Note: If you execute the above script and report "/bin/java: No such 
file or directory" error, please configure JAVA_HOME and PATH variables in 
/etc/profile*
-
-# 6、Modify runtime parameters.
-
-- Modify the environment variable in `dolphinscheduler_env.sh` file which on 
the 'conf/env' directory (take the relevant software installed under 
'/opt/soft' as an example)
-
-    ```shell
-        export HADOOP_HOME=/opt/soft/hadoop
-        export HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop
-        #export SPARK_HOME1=/opt/soft/spark1
-        export SPARK_HOME2=/opt/soft/spark2
-        export PYTHON_HOME=/opt/soft/python
-        export JAVA_HOME=/opt/soft/java
-        export HIVE_HOME=/opt/soft/hive
-        export FLINK_HOME=/opt/soft/flink
-        export DATAX_HOME=/opt/soft/datax/bin/datax.py
-        export 
PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH:$FLINK_HOME/bin:$DATAX_HOME:$PATH
-
-        ```
-
-     `Note: This step is very important. For example, JAVA_HOME and PATH must 
be configured. Those that are not used can be ignored or commented out.`
-
-
-
-- Create Soft link jdk to /usr/bin/java (still JAVA_HOME=/opt/soft/java as an 
example)
-
-    ```shell
-    sudo ln -s /opt/soft/java/bin/java /usr/bin/java
-    ```
-
- - Modify the parameters in the one-click deployment config file 
`conf/config/install_config.conf`, pay special attention to the configuration 
of the following parameters.
-
-    ```shell
-    # choose mysql or postgresql
-    dbtype="mysql"
-
-    # Database connection address and port
-    dbhost="192.168.xx.xx:3306"
-
-    # database name
-    dbname="dolphinscheduler"
-
-    # database username
-    username="xxx"
-
-    # database password
-    # NOTICE: if there are special characters, please use the \ to escape, for 
example, `[` escape to `\[`
-    password="xxx"
-
-    #Zookeeper cluster
-    zkQuorum="192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181"
-
-    # Note: the target installation path for dolphinscheduler, please not 
config as the same as the current path (pwd)
-    installPath="/opt/soft/dolphinscheduler"
+## Deployment Step
 
-    # deployment user
-    # Note: the deployment user needs to have sudo privileges and permissions 
to operate HDFS. If HDFS is enabled, the root directory needs to be created by 
itself
-    deployUser="dolphinscheduler"
+Cluster deployment uses the same scripts and configuration files as we deploy 
in [pseudo-cluster deployment](pseudo-cluster.md), so the prepare and required 
are the same as pseudo-cluster deployment. The difference is that 
[pseudo-cluster deployment](pseudo-cluster.md) is for one machine, while 
cluster deployment (Cluster) for multiple. and the steps of "Modify 
configuration" are quite different between pseudo-cluster deployment and 
cluster deployment.
 
-    # alert config,take QQ email for example
-    # mail protocol
-    mailProtocol="SMTP"
+### Prepare && DolphinScheduler startup environment
 
-    # mail server host
-    mailServerHost="smtp.qq.com"
+Because of cluster deployment for multiple machine, so you have to run you 
"Prepare" and "startup" in every machine in 
[pseudo-cluster.md](pseudo-cluster.md), except section "Configure machine SSH 
password-free login", "Start zookeeper", "Initialize the database", which is 
only for deployment or just need an single server
 
-    # mail server port
-    # note: Different protocols and encryption methods correspond to different 
ports, when SSL/TLS is enabled, make sure the port is correct.
-    mailServerPort="25"
+### Modify configuration
 
-    # mail sender
-    mailSender="[email protected]"
-
-    # mail user
-    mailUser="[email protected]"
-
-    # mail sender password
-    # note: The mail.passwd is email service authorization code, not the email 
login password.
-    mailPassword="xxx"
-
-    # Whether TLS mail protocol is supported, true is supported and false is 
not supported
-    starttlsEnable="true"
-
-    # Whether TLS mail protocol is supported, true is supported and false is 
not supported.
-    # note: only one of TLS and SSL can be in the true state.
-    sslEnable="false"
-
-    # note: sslTrust is the same as mailServerHost
-    sslTrust="smtp.qq.com"
-
-
-    # resource storage type:HDFS,S3,NONE
-    resourceStorageType="HDFS"
-
-    # If resourceStorageType = HDFS, and your Hadoop Cluster NameNode has HA 
enabled, you need to put core-site.xml and hdfs-site.xml in the 
installPath/conf directory. In this example, it is placed under 
/opt/soft/dolphinscheduler/conf, and configure the namenode cluster name; if 
the NameNode is not HA, modify it to a specific IP or host name.
-    # if S3,write S3 address,HA,for example: s3a://dolphinscheduler,
-    # Note,s3 be sure to create the root directory /dolphinscheduler
-    defaultFS="hdfs://mycluster:8020"
-
-
-    # if not use Hadoop resourcemanager, please keep default value; if 
resourcemanager HA enable, please type the HA ips ; if resourcemanager is 
single, make this value empty
-    yarnHaIps="192.168.xx.xx,192.168.xx.xx"
-
-    # if resourcemanager HA enable or not use resourcemanager, please skip 
this value setting; If resourcemanager is single, you only need to replace 
yarnIp1 with actual resourcemanager hostname.
-    singleYarnIp="yarnIp1"
-
-    # resource store on HDFS/S3 path, resource file will store to this Hadoop 
HDFS path, self configuration, please make sure the directory exists on HDFS 
and have read-write permissions. /dolphinscheduler is recommended
-    resourceUploadPath="/dolphinscheduler"
-
-    # who have permissions to create directory under HDFS/S3 root path
-    # Note: if kerberos is enabled, please config hdfsRootUser=
-    hdfsRootUser="hdfs"
-
-
-
-    # install hosts
-    # Note: install the scheduled hostname list. If it is pseudo-distributed, 
just write a pseudo-distributed hostname
-    ips="ds1,ds2,ds3,ds4"
-
-    # ssh port, default 22
-    # Note: if ssh port is not default, modify here
-    sshPort="22"
-
-    # run master machine
-    # Note: list of hosts hostname for deploying master
-    masters="ds1,ds2"
-
-    # run worker machine
-    # note: need to write the worker group name of each worker, the default 
value is "default"
-    workers="ds3:default,ds4:default"
-
-    # run alert machine
-    # note: list of machine hostnames for deploying alert server
-    alertServer="ds2"
-
-    # run api machine
-    # note: list of machine hostnames for deploying api server
-    apiServers="ds1"
-
-    ```
-
-    *Attention:*
-
-    - If you need to upload resources to the Hadoop cluster, and the NameNode 
of the Hadoop cluster is configured with HA, you need to enable HDFS resource 
upload, and you need to copy the core-site.xml and hdfs-site.xml in the Hadoop 
cluster to /opt/ dolphinscheduler/conf. Non-NameNode HA skips the next step.
-
-# 7、Automated Deployment
-
-- Switch to the deployment user and execute the one-click deployment script
-
-    `sh install.sh`
-
-   ```
-   Note:
-   For the first deployment, the following message appears in step 3 of `3, 
stop server` during operation. This message can be ignored.
-   sh: bin/dolphinscheduler-daemon.sh: No such file or directory
-   ```
-
-- After the script is completed, the following 5 services will be started. Use 
the `jps` command to check whether the services are started (` jps` comes with 
`java JDK`)
-
-```aidl
-    MasterServer         ----- master service
-    WorkerServer         ----- worker service
-    LoggerServer         ----- logger service
-    ApiApplicationServer ----- api service
-    AlertServer          ----- alert service
-```
-If the above services are started normally, the automatic deployment is 
successful.
-
-
-After the deployment is successful, you can view the logs. The logs are stored 
in the logs folder.
-
-```log path
- logs/
-    ├── dolphinscheduler-alert-server.log
-    ├── dolphinscheduler-master-server.log
-    |—— dolphinscheduler-worker-server.log
-    |—— dolphinscheduler-api-server.log
-    |—— dolphinscheduler-logger-server.log
-```
-
-
-
-# 8、login
-
-- Access the address of the front page, interface IP (self-modified)
-http://192.168.xx.xx:12345/dolphinscheduler
-
-   <p align="center">
-     <img src="/img/login_en.png" width="60%" />
-   </p>
-
-
-
-# 9、Start and stop service
-
-* Stop all services
-
-  ` sh ./bin/stop-all.sh`
-
-* Start all services
-
-  ` sh ./bin/start-all.sh`
-
-* Start and stop master service
+This is a step that is quite different from 
[pseudo-cluster.md](pseudo-cluster.md), because the deployment script will 
transfer the resources required for installation machine to each deployment 
machine using `scp`. And we have to declare all machine we want to install 
DolphinScheduler and then run script `install.sh`. The configuration file is 
under the path `conf/config/install_config.conf`, here we only need to modify 
section **INSTALL MACHINE**, **DolphinScheduler ENV, Database, Regi [...]
 
 ```shell
-sh ./bin/dolphinscheduler-daemon.sh start master-server
-sh ./bin/dolphinscheduler-daemon.sh stop master-server
-```
-
-* Start and stop worker Service
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start worker-server
-sh ./bin/dolphinscheduler-daemon.sh stop worker-server
-```
-
-* Start and stop api Service
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start api-server
-sh ./bin/dolphinscheduler-daemon.sh stop api-server
-```
-
-* Start and stop logger Service
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start logger-server
-sh ./bin/dolphinscheduler-daemon.sh stop logger-server
-```
-
-* Start and stop alert service
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start alert-server
-sh ./bin/dolphinscheduler-daemon.sh stop alert-server
-```
-
-``Note: Please refer to the "Architecture Design" section for service usage``
-
+# ---------------------------------------------------------
+# INSTALL MACHINE
+# ---------------------------------------------------------
+# Using IP or machine hostname for server going to deploy master, worker, API 
server, the IP of the server
+# If you using hostname, make sure machine could connect each others by 
hostname
+# As below, the hostname of the machine deploying DolphinScheduler is ds1, 
ds2, ds3, ds4, ds5, where ds1, ds2 install master server, ds3, ds4, and ds5 
installs worker server, the alert server is installed in ds4, and the api 
server is installed in ds5
+ips="ds1,ds2,ds3,ds4,ds5"
+masters="ds1,ds2"
+workers="ds3:default,ds4:default,ds5:default"
+alertServer="ds4"
+apiServers="ds5"
+```
+
+## Start DolphinScheduler && Login DolphinScheduler && Server Start And Stop
+
+Same as pseudo-cluster.md](pseudo-cluster.md)
diff --git a/docs/en-us/dev/user_doc/guide/installation/kubernetes.md 
b/docs/en-us/dev/user_doc/guide/installation/kubernetes.md
index 3cf8cc4..8c87481 100644
--- a/docs/en-us/dev/user_doc/guide/installation/kubernetes.md
+++ b/docs/en-us/dev/user_doc/guide/installation/kubernetes.md
@@ -1,5 +1,9 @@
 # QuickStart in Kubernetes
 
+Kubernetes deployment is deploy DolphinScheduler in a Kubernetes cluster, 
which can schedule a large number of tasks and can be used in production.
+
+If you are a green hand and want to experience DolphinScheduler, we 
recommended you install follow [Standalone](standalone.md). If you want to 
experience more complete functions or schedule large tasks number, we 
recommended you install follow [pseudo-cluster deployment](pseudo-cluster.md). 
If you want to using DolphinScheduler in production, we recommended you follow 
[cluster deployment](cluster.md) or [kubernetes](kubernetes.md)
+
 ## Prerequisites
 
  - [Helm](https://helm.sh/) 3.1.0+
diff --git a/docs/en-us/dev/user_doc/guide/installation/pseudo-cluster.md 
b/docs/en-us/dev/user_doc/guide/installation/pseudo-cluster.md
new file mode 100644
index 0000000..d005937
--- /dev/null
+++ b/docs/en-us/dev/user_doc/guide/installation/pseudo-cluster.md
@@ -0,0 +1,196 @@
+# Pseudo-Cluster Deployment
+
+The purpose of pseudo-cluster deployment is to deploy the DolphinScheduler 
service on a single machine. In this mode, DolphinScheduler's master, worker, 
api server, and logger server are all on the same machine.
+
+If you are a green hand and want to experience DolphinScheduler, we 
recommended you install follow [Standalone](standalone.md). If you want to 
experience more complete functions or schedule large tasks number, we 
recommended you install follow [pseudo-cluster deployment](pseudo-cluster.md). 
If you want to using DolphinScheduler in production, we recommended you follow 
[cluster deployment](cluster.md) or [kubernetes](kubernetes.md)
+
+## Prepare
+
+Pseudo-cluster deployment of DolphinScheduler requires external software 
support
+
+* JDK:Download [JDK][jdk] (1.8+), and configure `JAVA_HOME` to and `PATH` 
variable. You can skip this step, if it already exists in your environment.
+* Binary package: Download the DolphinScheduler binary package at [download 
page](../../../../../../download/en-us/download.md)
+* Database: PostgreSQL (8.2.15+) or MySQL (5.7+), you can choose one of the 
two, such as MySQL requires JDBC Driver 5.1.47+
+* Registry Center: ZooKeeper (3.4.6+),[download link][zookeeper]
+* Process tree analysis
+  * `pstree` for macOS
+  * `psmisc` for Fedora/Red/Hat/CentOS/Ubuntu/Debian
+
+> **_Note:_** DolphinScheduler itself does not depend on Hadoop, Hive, Spark, 
but if you need to run tasks that depend on them, you need to have the 
corresponding environment support
+
+## DolphinScheduler startup environment
+
+### Configure user exemption and permissions
+
+Create a deployment user, and be sure to configure `sudo` without password. We 
here make a example for user dolphinscheduler.
+
+```shell
+# To create a user, login as root
+useradd dolphinscheduler
+
+# Add password
+echo "dolphinscheduler" | passwd --stdin dolphinscheduler
+
+# Configure sudo without password
+sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' /etc/sudoers
+sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+
+# Modify directory permissions and grant permissions for user you created above
+chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-bin
+```
+
+> **_NOTICE:_**
+>
+> * Because DolphinScheduler's multi-tenant task switch user by command `sudo 
-u {linux-user}`, the deployment user needs to have sudo privileges and is 
password-free. If novice learners don’t understand, you can ignore this point 
for the time being.
+> * If you find the line "Defaults requirest" in the `/etc/sudoers` file, 
please comment it
+
+### Configure machine SSH password-free login
+
+Since resources need to be sent to different machines during installation, SSH 
password-free login is required between each machine. The steps to configure 
password-free login are as follows
+
+```shell
+su dolphinscheduler
+
+ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
+cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
+chmod 600 ~/.ssh/authorized_keys
+```
+
+> **_Notice:_** After the configuration is complete, you can run the command 
`ssh localhost` to test if it work or not, if you can login with ssh without 
password.
+
+### Start zookeeper
+
+Go to the zookeeper installation directory, copy configure file 
`zoo_sample.cfg` to `conf/zoo.cfg`, and change value of dataDir in 
`conf/zoo.cfg` to `dataDir=./tmp/zookeeper`
+
+```shell
+# Start zookeeper
+./bin/zkServer.sh start
+```
+
+### Initialize the database
+
+DolphinScheduler metadata is stored in relational database. Currently, 
PostgreSQL and MySQL are supported. If you use MySQL, you need to manually 
download [mysql-connector-java driver][mysql] (5.1.47+) and move it to the lib 
directory of DolphinScheduler. Let's take MySQL as an example for how to 
initialize the database
+
+```shell
+mysql -uroot -p
+
+mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT 
COLLATE utf8_general_ci;
+
+# Change {user} and {password} by requests
+mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED 
BY '{password}';
+mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' 
IDENTIFIED BY '{password}';
+
+mysql> flush privileges;
+```
+
+Modify the database configuration and initialize
+
+```properties
+spring.datasource.driver-class-name=com.mysql.jdbc.Driver
+spring.datasource.url=jdbc:mysql://localhost:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
+# Modify it if you are not using dolphinscheduler/dolphinscheduler as your 
username and password
+spring.datasource.username=dolphinscheduler
+spring.datasource.password=dolphinscheduler
+```
+
+After modifying and saving, execute the following command to create database 
table and inti basic data.
+
+```shell
+sh script/create-dolphinscheduler.sh
+```
+
+## Modify configuration
+
+After completing the preparation of the basic environment, you need to modify 
the configuration file according to your environment. The configuration file is 
in the path of `conf/config/install_config.conf`. Generally, you just needs to 
modify the **INSTALL MACHINE, DolphinScheduler ENV, Database, Registry Server** 
part to complete the deployment, the following describes the parameters that 
must be modified
+
+```shell
+# ---------------------------------------------------------
+# INSTALL MACHINE
+# ---------------------------------------------------------
+# Because the master, worker, and API server are deployed on a single node, 
the IP of the server is the machine IP or localhost
+ips="localhost"
+masters="localhost"
+workers="localhost:default"
+alertServer="localhost"
+apiServers="localhost"
+
+# DolphinScheduler installation path, it will auto create if not exists
+installPath="~/dolphinscheduler"
+
+# Deploy user, use what you create in section **Configure machine SSH 
password-free login**
+deployUser="dolphinscheduler"
+
+# ---------------------------------------------------------
+# DolphinScheduler ENV
+# ---------------------------------------------------------
+# The path of JAVA_HOME, which JDK install path in section **Prepare**
+javaHome="/your/java/home/here"
+
+# ---------------------------------------------------------
+# Database
+# ---------------------------------------------------------
+# Database type, username, password, IP, port, metadata. For now dbtype 
supports `mysql` and `postgresql`
+dbtype="mysql"
+dbhost="localhost:3306"
+# Have to modify if you are not using dolphinscheduler/dolphinscheduler as 
your username and password
+username="dolphinscheduler"
+password="dolphinscheduler"
+dbname="dolphinscheduler"
+
+# ---------------------------------------------------------
+# Registry Server
+# ---------------------------------------------------------
+# Registration center address, the address of zookeeper service
+registryServers="localhost:2181"
+```
+
+## Start DolphinScheduler
+
+Use deployment user you created above, running the following command to 
complete the deployment, and the server log will be stored in the logs folder
+
+```shell
+sh install.sh
+```
+
+> **_Note:_** For the first time deployment, there maybe occur five times of 
`sh: bin/dolphinscheduler-daemon.sh: No such file or directory` in terminal
+, this is non-important information and you can ignore it.
+
+## Login DolphinScheduler
+
+The browser access address http://localhost:12345/dolphinscheduler can login 
DolphinScheduler UI. The default username and password are 
**admin/dolphinscheduler123**
+
+## Start or stop server
+
+```shell
+# Stop all DolphinScheduler server
+sh ./bin/stop-all.sh
+
+# Start all DolphinScheduler server
+sh ./bin/start-all.sh
+
+# Start or stop DolphinScheduler Master
+sh ./bin/dolphinscheduler-daemon.sh stop master-server
+sh ./bin/dolphinscheduler-daemon.sh start master-server
+
+# Start or stop DolphinScheduler Worker
+sh ./bin/dolphinscheduler-daemon.sh start worker-server
+sh ./bin/dolphinscheduler-daemon.sh stop worker-server
+
+# Start or stop DolphinScheduler Api
+sh ./bin/dolphinscheduler-daemon.sh start api-server
+sh ./bin/dolphinscheduler-daemon.sh stop api-server
+
+# Start or stop Logger
+sh ./bin/dolphinscheduler-daemon.sh start logger-server
+sh ./bin/dolphinscheduler-daemon.sh stop logger-server
+
+# Start or stop Alert
+sh ./bin/dolphinscheduler-daemon.sh start alert-server
+sh ./bin/dolphinscheduler-daemon.sh stop alert-server
+```
+
+> **_Note:_**: Please refer to the section of "System Architecture Design" for 
service usage
+
+[jdk]: https://www.oracle.com/technetwork/java/javase/downloads/index.html
+[zookeeper]: https://zookeeper.apache.org/releases.html
+[mysql]: https://downloads.MySQL.com/archives/c-j/
diff --git a/docs/en-us/dev/user_doc/guide/installation/standalone.md 
b/docs/en-us/dev/user_doc/guide/installation/standalone.md
index 6b48579..afaceb7 100644
--- a/docs/en-us/dev/user_doc/guide/installation/standalone.md
+++ b/docs/en-us/dev/user_doc/guide/installation/standalone.md
@@ -1,345 +1,42 @@
-# Standalone Deployment
+# Standalone
 
-# 1、Install Basic Software (please install required software by yourself)
+Standalone only for quick look for DolphinScheduler.
 
- * PostgreSQL (8.2.15+) or MySQL (5.7) : Choose One, JDBC Driver 8.0.16+ is 
required if MySQL is used. If you upgrade from version 1.x to 2.x, remember 
update mysql connector by yourself.
- * [JDK](https://www.oracle.com/technetwork/java/javase/downloads/index.html) 
(1.8+) : Required. Double-check configure JAVA_HOME and PATH environment 
variables in /etc/profile
- * ZooKeeper (3.4.6+) : Required
- * pstree or psmisc : "pstree" is required for Mac OS and "psmisc" is required 
for Fedora/Red/Hat/CentOS/Ubuntu/Debian
- * Hadoop (2.6+) or MinIO : Optional. If you need the resource function, for 
Standalone Deployment you can choose a local directory as the upload 
destination (this does not need Hadoop deployed). Of course, you can also 
choose to upload to Hadoop or MinIO.
+If you are a green hand and want to experience DolphinScheduler, we 
recommended you install follow [Standalone](standalone.md). If you want to 
experience more complete functions or schedule large tasks number, we 
recommended you install follow [pseudo-cluster deployment](pseudo-cluster.md). 
If you want to using DolphinScheduler in production, we recommended you follow 
[cluster deployment](cluster.md) or [kubernetes](kubernetes.md)
 
-```markdown
- Tips: DolphinScheduler itself does not rely on Hadoop, Hive, Spark, only use 
their clients to run the corresponding task.
-```
-
-# 2、Download the Binary tar.gz Package
+> **_Note:_** Standalone only recommends the use of less than 20 workflows, 
because it uses H2 Database, Zookeeper Testing Server, too many tasks may cause 
instability
 
-- Please download the latest version installation package to the server 
deployment directory. For example, use /opt/dolphinscheduler as the 
installation and deployment directory. Download address: 
[Download](/en-us/download/download.html), download package, move to deployment 
directory and uncompress it.
+## Prepare
 
-```shell
-# Create the deployment directory. Please do not choose a high-privilege 
directory such as /root or /home.
-mkdir -p /opt/dolphinscheduler;
-cd /opt/dolphinscheduler;
+* JDK:Download [JDK][jdk] (1.8+), and configure `JAVA_HOME` to and `PATH` 
variable. You can skip this step, if it already exists in your environment.
+* Binary package: Download the DolphinScheduler binary package at [download 
page](../../../../../../download/en-us/download.md)
 
-# uncompress
-tar -zxvf apache-dolphinscheduler-1.3.8-bin.tar.gz -C /opt/dolphinscheduler;
+## Start DolphinScheduler Standalone Server
 
-# rename
-mv apache-dolphinscheduler-1.3.8-bin  dolphinscheduler-bin
-```
+### Extract and start DolphinScheduler
 
-# 3、Create Deployment User and Assign Directory Operation Permissions
-
-- Create a deployment user, and be sure to configure sudo secret-free. Here 
take the creation of a dolphinscheduler user as an example.
+There is a standalone startup script in the binary compressed package, which 
can be quickly started after extract. Switch to a user with sudo permission and 
run the script
 
 ```shell
-# To create a user, you need to log in as root and set the deployment user 
name.
-useradd dolphinscheduler;
-
-# Set the user password, please modify it yourself.
-echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
-
-# Configure sudo secret-free
-echo 'dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' >> /etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
-
-# Modify the directory permissions so that the deployment user has operation 
permissions on the dolphinscheduler-bin directory
-chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-bin
-```
-
-```
- Notes:
- - Because the task execution is based on 'sudo -u {linux-user}' to switch 
among different Linux users to implement multi-tenant job running, so the 
deployment user must have sudo permissions and is secret-free. If beginner 
learners don’t understand, you can ignore this point for now.
- - Please comment out line "Defaults requirett", if it is present in 
"/etc/sudoers" file. 
- - If you need to use resource upload, you need to assign the user the 
permission to operate the local file system, HDFS or MinIO.
-```
-
-# 4、SSH Secret-Free Configuration
-
-- Switch to the deployment user and configure SSH local secret-free login
-
-  ```shell
-  su dolphinscheduler;
-
-  ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
-  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-  chmod 600 ~/.ssh/authorized_keys
-  ```
-  
-​  Note: *If the configuration is successful, the dolphinscheduler user does 
not need to enter a password when executing the command `ssh localhost`.*
-
-# 5、Database Initialization
-
-- Log in to the database, the default database type is PostgreSQL. If you 
choose MySQL, you need to add the mysql-connector-java driver package to the 
lib directory of DolphinScheduler.
-```
-mysql -uroot -p
+# Extract and start Standalone Server
+tar -xvzf apache-dolphinscheduler-*-bin.tar.gz
+cd apache-dolphinscheduler-*-bin
+sh ./bin/dolphinscheduler-daemon.sh start standalone-server
 ```
 
-- After log into the database command line window, execute the database 
initialization command and set the user and password. 
-
-**Note: {user} and {password} need to be replaced with a specific database 
username and password.**
-
- ``` mysql
-    mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT 
COLLATE utf8_general_ci;
-    mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' 
IDENTIFIED BY '{password}';
-    mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' 
IDENTIFIED BY '{password}';
-    mysql> flush privileges;
- ```
-
-- Create tables and import basic data
-
-    - Modify the following configuration in datasource.properties under the 
conf directory.
-
-    ```shell
-      vi conf/datasource.properties
-    ```
-
-    - If you choose Mysql, please comment out the relevant configuration of 
PostgreSQL (vice versa), you also need to manually add the 
[[mysql-connector-java driver jar] 
(https://downloads.mysql.com/archives/c-j/)](make sure download version 
8.0.16+, 8.0.16 is be recommended) package to lib directory, and then configure 
the database connection information correctly.
-
-    ```properties
-      #postgre
-      #spring.datasource.driver-class-name=org.postgresql.Driver
-      #spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler
-      # mysql
-      spring.datasource.driver-class-name=com.mysql.jdbc.Driver
-      
spring.datasource.url=jdbc:mysql://xxx:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
     # Replace the correct IP address
-      spring.datasource.username=xxx                                           
# replace the correct {username} value
-      spring.datasource.password=xxx                                           
# replace the correct {password} value
-    ```
-
-    - After modifying and saving, execute **create-dolphinscheduler.sh** in 
the script directory.
-
-    ```shell
-    sh script/create-dolphinscheduler.sh
-    ```
-
-​       *Note: If you execute the above script and report "/bin/java: No such 
file or directory" error, please configure JAVA_HOME and PATH variables in 
/etc/profile.*
-
-# 6、Modify Runtime Parameters.
-
-- Modify the environment variable in `dolphinscheduler_env.sh` file under 
'conf/env' directory (take the relevant software installed under '/opt/soft' as 
example)
-
-    ```shell
-        export HADOOP_HOME=/opt/soft/hadoop
-        export HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop
-        #export SPARK_HOME1=/opt/soft/spark1
-        export SPARK_HOME2=/opt/soft/spark2
-        export PYTHON_HOME=/opt/soft/python
-        export JAVA_HOME=/opt/soft/java
-        export HIVE_HOME=/opt/soft/hive
-        export FLINK_HOME=/opt/soft/flink
-        export DATAX_HOME=/opt/soft/datax/bin/datax.py
-        export 
PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH:$FLINK_HOME/bin:$DATAX_HOME:$PATH
-
-        ```
-
-     `Note: This step is very important. For example, JAVA_HOME and PATH must 
be configured. Those that are not used can be ignored or commented out. If you 
can not find dolphinscheduler_env.sh, please run ls -a.`
-
-- Create JDK soft link to /usr/bin/java (still JAVA_HOME=/opt/soft/java as an 
example)
-
-    ```shell
-    sudo ln -s /opt/soft/java/bin/java /usr/bin/java
-    ```
-
- - Modify the parameters in the one-click deployment config file 
`conf/config/install_config.conf`, pay special attention to the configuration 
of the following parameters.
-
-    ```shell
-    # choose mysql or postgresql
-    dbtype="mysql"
-
-    # Database connection address and port
-    dbhost="localhost:3306"
-
-    # database name
-    dbname="dolphinscheduler"
-
-    # database username
-    username="xxx"
-
-    # database password
-    # NOTICE: if there are special characters, please use the \ to escape, for 
example, `[` escape to `\[`
-    password="xxx"
-
-    # Zookeeper address, localhost:2181, remember port 2181
-    zkQuorum="localhost:2181"
-
-    # Note: the target installation path for dolphinscheduler, please do not 
use current path (pwd)
-    installPath="/opt/soft/dolphinscheduler"
-
-    # deployment user
-    # Note: the deployment user needs to have sudo privileges and permissions 
to operate HDFS. If HDFS is enabled, the root directory needs to be created by 
itself
-    deployUser="dolphinscheduler"
-
-    # alert config,take QQ email for example
-    # mail protocol
-    mailProtocol="SMTP"
-
-    # mail server host
-    mailServerHost="smtp.qq.com"
-
-    # mail server port
-    # note: Different protocols and encryption methods correspond to different 
ports, when SSL/TLS is enabled, the port may be different, make sure the port 
is correct.
-    mailServerPort="25"
-
-    # mail sender
-    mailSender="[email protected]"
-
-    # mail user
-    mailUser="[email protected]"
-
-    # mail sender password
-    # note: The mail.passwd is the email service authorization code, not the 
email login password.
-    mailPassword="xxx"
+### Login DolphinScheduler
 
-    # Whether TLS mail protocol is supported, true is supported and false is 
not supported
-    starttlsEnable="true"
+The browser access address http://localhost:12345/dolphinscheduler can login 
DolphinScheduler UI. The default username and password are 
**admin/dolphinscheduler123**
 
-    # Whether TLS mail protocol is supported, true is supported and false is 
not supported。
-    # note: only one of TLS and SSL can be in the true state.
-    sslEnable="false"
-
-    # note: sslTrust is the same as mailServerHost
-    sslTrust="smtp.qq.com"
-
-    # resource storage type:HDFS,S3,NONE
-    resourceStorageType="HDFS"
-
-    # here is an example of saving to a local file system
-    # Note: If you want to upload resource file(jar file and so on)to HDFS and 
the NameNode has HA enabled, you need to put core-site.xml and hdfs-site.xml of 
Hadoop cluster in the installPath/conf directory. In this example, it is placed 
under /opt/soft/dolphinscheduler/conf, and Configure the namenode cluster name; 
if the NameNode is not HA, modify it to a specific IP or host name.
-    defaultFS="file:///data/dolphinscheduler"
-
-    # if not use Hadoop resourcemanager, please keep default value; if 
resourcemanager HA enable, please type the HA ips ; if resourcemanager is 
single, make this value empty
-    # Note: For tasks that depend on YARN to execute, you need to ensure that 
YARN information is configured correctly in order to ensure successful 
execution results.
-    yarnHaIps="192.168.xx.xx,192.168.xx.xx"
-
-    # if resourcemanager HA enable or not use resourcemanager, please skip 
this value setting; If resourcemanager is single, you only need to replace 
yarnIp1 to actual resourcemanager hostname.
-    singleYarnIp="yarnIp1"
-
-    # resource store on HDFS/S3 path, resource file will store to this Hadoop 
hdfs path, self configuration, please make sure the directory exists on hdfs 
and have read write permissions。/dolphinscheduler is recommended
-    resourceUploadPath="/data/dolphinscheduler"
-
-    # specify the user who have permissions to create directory under HDFS/S3 
root path
-    hdfsRootUser="hdfs"
-    
-    # api server port
-    apiServerPort="12345"
-
-    # On which machines to deploy the DS service, choose localhost for this 
machine
-    ips="localhost"
-
-    # ssh port, default 22
-    # Note: if ssh port is not default, modify here
-    sshPort="22"
-
-    # run master machine
-    masters="localhost"
-
-    # run worker machine
-    workers="localhost"
-
-    # run alert machine
-    alertServer="localhost"
-
-    # run api machine
-    apiServers="localhost"
-
-    ```
-
-    *Attention:* if you need upload resource function, please execute the 
below command:
-
-    ```
-    
-    sudo mkdir /data/dolphinscheduler
-    sudo chown -R dolphinscheduler:dolphinscheduler /data/dolphinscheduler 
-    
-    ```
-
-# 7、Automated Deployment
-
-- Switch to the deployment user and execute the one-click deployment script
-
-    `sh install.sh`
-
-   ```
-   Note:
-   For the first deployment, the following message appears in step 3 of `3, 
stop server` during operation. This message can be ignored.
-   sh: bin/dolphinscheduler-daemon.sh: No such file or directory
-   ```
-
-- After the script is completed, the following 5 services will be started. Use 
`jps` command to check whether the services started (` jps` comes with `java 
JDK`)
-
-```aidl
-    MasterServer         ----- master service
-    WorkerServer         ----- worker service
-    LoggerServer         ----- logger service
-    ApiApplicationServer ----- api service
-    AlertServer          ----- alert service
-```
-If the above services started normally, the automatic deployment is successful.
-
-After the deployment is done, you can view logs which stored in the logs 
folder.
-
-```log path
- logs/
-    ├── dolphinscheduler-alert-server.log
-    ├── dolphinscheduler-master-server.log
-    |—— dolphinscheduler-worker-server.log
-    |—— dolphinscheduler-api-server.log
-    |—— dolphinscheduler-logger-server.log
-```
-
-# 8、Login
-
-- Access the front page address, interface IP (self-modified)
-http://192.168.xx.xx:12345/dolphinscheduler
-
-   <p align="center">
-     <img src="/img/login.png" width="60%" />
-   </p>
-
-# 9、Start and Stop Service
-
-* Stop all services
-
-  ` sh ./bin/stop-all.sh`
-
-* Start all services
-
-  ` sh ./bin/start-all.sh`
-
-* Start and stop master service
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start master-server
-sh ./bin/dolphinscheduler-daemon.sh stop master-server
-```
-
-* Start and stop worker Service
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start worker-server
-sh ./bin/dolphinscheduler-daemon.sh stop worker-server
-```
-
-* Start and stop api Service
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start api-server
-sh ./bin/dolphinscheduler-daemon.sh stop api-server
-```
-
-* Start and stop logger Service
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start logger-server
-sh ./bin/dolphinscheduler-daemon.sh stop logger-server
-```
+## start/stop server
 
-* Start and stop alert service
+The script `./bin/dolphinscheduler-daemon.sh` can not only quickly start 
standalone, but also stop the service operation. All the commands are as follows
 
 ```shell
-sh ./bin/dolphinscheduler-daemon.sh start alert-server
-sh ./bin/dolphinscheduler-daemon.sh stop alert-server
+# Start Standalone Server
+sh ./bin/dolphinscheduler-daemon.sh start standalone-server
+# Stop Standalone Server
+sh ./bin/dolphinscheduler-daemon.sh stop standalone-server
 ```
 
-``Note: Please refer to the "Architecture Design" section for service usage``
+[jdk]: https://www.oracle.com/technetwork/java/javase/downloads/index.html
diff --git a/docs/en-us/dev/user_doc/guide/resource.md 
b/docs/en-us/dev/user_doc/guide/resource.md
index 534bc46..58e6fc0 100644
--- a/docs/en-us/dev/user_doc/guide/resource.md
+++ b/docs/en-us/dev/user_doc/guide/resource.md
@@ -1,5 +1,12 @@
 # Resource Center
 
+If you want to use the resource upload function, you can select the local file 
directory for a single machine(this operation does not need to deploy Hadoop). 
Or you can also upload to a Hadoop or MinIO cluster, at this time, you need to 
have Hadoop (2.6+) or MinIO and other related environments
+
+> **_Note:_**
+>
+> * If the resource upload function is used, the deployment user in 
[installation and deployment](installation/standalone.md) must to have 
operation authority
+> * If you using Hadoop cluster with HA, you need to enable HDFS resource 
upload, and you need to copy the `core-site.xml` and `hdfs-site.xml` under the 
Hadoop cluster to `/opt/dolphinscheduler/conf`, otherwise Skip step
+
 ## hdfs resource configuration
 
 - Upload resource files and udf functions, all uploaded files and resources 
will be stored on hdfs, so the following configuration items are required:
diff --git a/docs/en-us/release/faq.md b/docs/en-us/release/faq.md
index f113eff..f29f04c 100644
--- a/docs/en-us/release/faq.md
+++ b/docs/en-us/release/faq.md
@@ -563,6 +563,47 @@ A: 1, It is currently judged according to natural days, at 
the end of last month
 ## Q : DS Backend Inteface Document
 A: 1, http://106.75.43.194:8888/dolphinscheduler/doc.html?language=en.
 
+## During the operation of dolphinscheduler, the ip address is obtained 
incorrectly
+
+When the master service and worker service are registered with zookeeper, 
relevant information will be created in the form of ip:port
+
+If the ip address is obtained incorrectly, please check the network 
information. For example, in the Linux system, use the `ifconfig` command to 
view the network information. The following figure is an example:
+
+<p align="center">
+  <img src="/img/network/network_config.png" width="60%" />
+</p>
+
+You can use the three strategies provided by dolphinscheduler to get the 
available ip:
+
+* default: First using internal network card to obtain the IP address, and 
then using external network card. If all above fail, use the address of the 
first available network card
+* inner: Use the internal network card to obtain the ip address, if fails 
thrown an exception.
+* outer: Use the external network card to obtain the ip address, if fails 
thrown an exception.
+
+Modify the configuration in `common.properties`:
+
+```shell
+# network IP gets priority, default: inner outer
+# dolphin.scheduler.network.priority.strategy=default
+```
+
+After configuration is modified, restart the service to activation
+
+If the ip address is still wrong, please download 
[dolphinscheduler-netutils.jar](/asset/dolphinscheduler-netutils.jar) to the 
machine, execute the following commands and feedback the output to the 
community developers:
+
+```shell
+java -jar target/dolphinscheduler-netutils.jar
+```
+
+## Configure sudo to be secret free, which is used to solve the problem of 
using the default configuration sudo authority to be too large or unable to 
apply for root authority
+
+Configure the sudo permission of the dolphinscheduler account to be an 
ordinary user manager within the scope of some ordinary users, and restrict 
specified users to run certain commands on the specified host. For detailed 
configuration, please see sudo rights management
+For example, sudo permission management configuration dolphinscheduler OS 
account can only operate the permissions of users userA, userB, userC (users 
userA, userB, and userC are used for multi-tenant submitting jobs to the big 
data cluster)
+
+```shell
+echo 'dolphinscheduler  ALL=(userA,userB,userC)  NOPASSWD: NOPASSWD: ALL' >> 
/etc/sudoers
+sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+```
+
 ---
 
-## We will collect more FAQ later.
+## We will collect more FAQ later
diff --git a/docs/zh-cn/dev/user_doc/dev_quick_start.md 
b/docs/zh-cn/dev/user_doc/dev_quick_start.md
deleted file mode 100644
index a9747c2..0000000
--- a/docs/zh-cn/dev/user_doc/dev_quick_start.md
+++ /dev/null
@@ -1,47 +0,0 @@
-注意:仅供单机开发调试使用,默认使用 H2 Database,Zookeeper Testing Server。
-
-如需测试插件,可自行修改 StandaloneServer中plugin.bind,亦或修改配置文件。具体请查看插件说明。
-#### 1.下载源码
-
-GitHub :https://github.com/apache/dolphinscheduler
-
-```shell
-mkdir dolphinscheduler
-cd dolphinscheduler
-git clone [email protected]:apache/dolphinscheduler.git
-```
-这里选用 dev 分支。
-
-#### 2: 启动后端
-```
-mvn install -DskipTests
-```
-直接启动 org.apache.dolphinscheduler.server.StandaloneServer 即可
-
-#### 3: 搭建前端环境
-
-    1.   #### 安装 node
-    
-              1.   安装 nvm
-                   curl -o- 
https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
-              2.   刷新环境变量
-                   source ~/.bash_profile
-              3.   安装 node
-                   nvm install v12.20.2 备注: Mac 用户还可以通过 brew 安装 npm: brew 
install npm
-              4.   验证 node 安装成功
-                   node --version
-    
-         2.   进入 dolphinscheduler-ui,运行
-    
-              ```shell
-              npm install
-              npm run start
-              ```
-    
-         3.   访问 [http://localhost:8888](http://localhost:8888/)
-    
-         4.   登录管理员账号
-    
-              >    用户:admin
-              >
-              >    密码:dolphinscheduler123
diff --git a/docs/zh-cn/dev/user_doc/guide/alert/enterprise-wechat.md 
b/docs/zh-cn/dev/user_doc/guide/alert/enterprise-wechat.md
new file mode 100644
index 0000000..a4af004
--- /dev/null
+++ b/docs/zh-cn/dev/user_doc/guide/alert/enterprise-wechat.md
@@ -0,0 +1,29 @@
+# 企业微信
+
+如果您需要使用到企业微信进行告警,请在安装完成后,修改 `alert.properties` 文件,然后重启 alert 服务即可。企业微信的配置样例如下
+
+```shell
+# 设置企业微信告警功能是否开启:开启为 true,否则为 false
+enterprise.wechat.enable="true"
+
+# 设置 corpid,每个企业都拥有唯一的 corpid,获取此信息可在管理后台 “我的企业” - “企业信息” 下查看 “企业 ID”(需要有管理员权限)
+enterprise.wechat.corp.id="xxx"
+
+# 设置 secret,secret 是企业应用里面用于保障数据安全的 “钥匙”,每一个应用都有一个独立的访问密钥
+enterprise.wechat.secret="xxx"
+
+# 设置 agentid,每个应用都有唯一的 agentid。在管理后台 -> “应用与小程序” -> “应用”,点进某个应用,即可看到 agentid
+enterprise.wechat.agent.id="xxxx"
+
+# 设置 userid,多个用逗号分隔。每个成员都有唯一的 userid,即所谓 “帐号”。在管理后台 -> “通讯录” -> 点进某个成员的详情页,可以看到
+enterprise.wechat.users=zhangsan,lisi
+
+# 获取 access_token 的地址,使用如下例子无需修改
+enterprise.wechat.token.url=https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpId}&corpsecret={secret}
+
+# 发送应用消息地址,使用如下例子无需改动
+enterprise.wechat.push.url=https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}
+
+# 发送消息格式,无需改动
+enterprise.wechat.user.send.msg={\"touser\":\"{toUser}\",\"agentid\":\"{agentId}\",\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"{msg}\"}}
+```
diff --git a/docs/zh-cn/dev/user_doc/guide/installation/cluster.md 
b/docs/zh-cn/dev/user_doc/guide/installation/cluster.md
index d1e1e96..276a330 100644
--- a/docs/zh-cn/dev/user_doc/guide/installation/cluster.md
+++ b/docs/zh-cn/dev/user_doc/guide/installation/cluster.md
@@ -1,486 +1,35 @@
 # 集群部署(Cluster)
 
-# 1、基础软件安装(必装项请自行安装)
+集群部署目的是在多台机器部署 DolphinScheduler 服务,用于运行大量任务情况。
 
- * PostgreSQL (8.2.15+) or MySQL (5.7系列):两者任选其一即可,如 MySQL 则需要 JDBC Driver 
5.1.47+
- * [JDK](https://www.oracle.com/technetwork/java/javase/downloads/index.html) 
(1.8+):必装,请安装好后在 /etc/profile 下配置 JAVA_HOME 及 PATH 变量
- * ZooKeeper (3.4.6+):必装 
- * pstree or psmisc:Mac OS必装pstree,Fedora/Red/Hat/CentOS/Ubuntu/Debian必装psmisc
- * Hadoop (2.6+) or MinIO:选装,如果需要用到资源上传功能,可以选择上传到 Hadoop or MinIO 上
+如果你是新手,想要体验 DolphinScheduler 
的功能,推荐使用[Standalone](standalone.md)方式体检。如果你想体验更完整的功能,或者更大的任务量,推荐使用[伪集群部署](pseudo-cluster.md)。如果你是在生产中使用,推荐使用[集群部署](cluster.md)或者[kubernetes](kubernetes.md)
 
-```markdown
- 注意:DolphinScheduler本身不依赖 Hadoop、Hive、Spark,仅是会调用他们的 Client,用于提交对应的任务
-```
-
-# 2、下载二进制tar.gz包
-
-- 请下载最新版本的后端安装包至服务器部署目录,比如创建 /opt/dolphinscheduler 做为安装部署目录,下载地址: 
[下载](/zh-cn/download/download.html),下载后上传 tar 包到该目录中,并进行解压
+## 部署步骤
 
-```shell
-# 创建部署目录,部署目录请不要创建在 /root、/home 等高权限目录 
-mkdir -p /opt/dolphinscheduler
-cd /opt/dolphinscheduler
+集群部署(Cluster)使用的脚本和配置文件与[伪集群部署](pseudo-cluster.md)中的配置一样,所以所需要的步骤也与[伪集群部署](pseudo-cluster.md)大致一样。区别就是[伪集群部署](pseudo-cluster.md)针对的是一台机器,而集群部署(Cluster)需要针对多台机器,且两者“修改相关配置”步骤区别较大
 
-# 解压缩
-tar -zxvf apache-dolphinscheduler-1.3.8-bin.tar.gz -C /opt/dolphinscheduler
+### 前置准备工作 && 准备 DolphinScheduler 启动环境
 
-mv apache-dolphinscheduler-1.3.8-bin  dolphinscheduler-bin
-```
+其中除了[伪集群部署](pseudo-cluster.md)中的“前置准备工作”,“准备启动环境”除了“启动zookeeper”以及“初始化数据库”外,别的都需要在每台机器中进行配置
 
-# 3、创建部署用户和hosts映射
+### 修改相关配置
 
-- 在**所有**部署调度的机器上创建部署用户,并且一定要配置 sudo 免密。假如我们计划在 ds1,ds2,ds3,ds4 这 4 
台机器上部署调度,首先需要在每台机器上都创建部署用户
+这个是与[伪集群部署](pseudo-cluster.md)差异较大的一步,因为部署脚本会通过 `scp` 
的方式将安装需要的资源传输到各个机器上,所以这一步我们仅需要修改运行`install.sh`脚本的所在机器的配置即可。配置文件在路径在`conf/config/install_config.conf`下,此处我们仅需修改**INSTALL
 MACHINE**,**DolphinScheduler ENV、Database、Registry 
Server**与[伪集群部署](pseudo-cluster.md)保持一致,下面对必须修改参数进行说明
 
 ```shell
-# 创建用户需使用root登录,设置部署用户名,请自行修改,后面以 dolphinscheduler 为例
-useradd dolphinscheduler
-
-# 设置用户密码,请自行修改,后面以 dolphinscheduler123 为例
-echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
-
-# 配置 sudo 免密
-echo 'dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' >> /etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
-
-```
-
-
-注意:
-- 因为是以 sudo -u {linux-user} 切换不同 linux 用户的方式来实现多租户运行作业,所以部署用户需要有 sudo 权限,而且是免密的
-- 如果发现 /etc/sudoers 文件中有 "Default requiretty" 这行,也请注释掉
-- 如果用到资源上传的话,还需要在 `HDFS或者MinIO` 上给该部署用户分配读写的权限
-
-
-# 4、配置hosts映射和ssh打通及修改目录权限
-
-- 以第一台机器( hostname 为 ds1 )作为部署机,在 ds1 上配置所有待部署机器的 hosts,在 ds1 以 root 登录
-
-```shell
-vi /etc/hosts
-
-# add ip hostname
-192.168.xxx.xxx ds1
-192.168.xxx.xxx ds2
-192.168.xxx.xxx ds3
-192.168.xxx.xxx ds4
-```
-
-  *注意:请删掉或者注释掉 127.0.0.1 这行*
-
-- 同步 ds1 上的 /etc/hosts 到所有部署机器
-
-```shell
-for ip in ds2 ds3;     # 请将此处 ds2 ds3 替换为自己要部署的机器的 hostname
-do
-  sudo scp -r /etc/hosts  $ip:/etc/          # 在运行中需要输入 root 密码
-done
-```
-
-  *备注:当然 通过 `sshpass -p xxx sudo scp -r /etc/hosts $ip:/etc/` 就可以省去输入密码了*
-
-  > centos 下 sshpass的安装:
-  >
-  > 1. 先安装 epel
-  >
-  >    yum install -y epel-release
-  >
-  >    yum repolist
-  >
-  > 2. 安装完成 epel 之后,就可以按照 sshpass 了
-  >
-  >    yum install -y sshpass
-  >
-  >    
-
-- 在 ds1 上,切换到部署用户并配置 ssh 本机免密登录
-
-```shell
-su dolphinscheduler;
-
-ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
-cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-chmod 600 ~/.ssh/authorized_keys
-```
-​      *注意:正常设置后,dolphinscheduler 用户在执行命令 `ssh localhost` 是不需要再输入密码*
-
-
-
-- 在 ds1 上,配置部署用户 dolphinscheduler ssh 打通到其他待部署的机器
-
-```shell
-su dolphinscheduler;
-for ip in ds2 ds3;     # 请将此处 ds2 ds3 替换为自己要部署的机器的 hostname
-do
-  ssh-copy-id  $ip   # 该操作执行过程中需要手动输入 dolphinscheduler 用户的密码
-done
-
-# 当然 通过 sshpass -p xxx ssh-copy-id $ip 就可以省去输入密码了
-```
-
-- 在 ds1 上,修改目录权限,使得部署用户对 dolphinscheduler-bin 目录有操作权限
-
-```shell
-sudo chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-bin
-```
-
-# 5、数据库初始化
-
-- 进入数据库,默认数据库是 PostgreSQL,如选择 MySQL 的话,后续需要添加 mysql-connector-java 驱动包到 
DolphinScheduler 的 lib 目录下,这里以 MySQL 为例
-``` 
-mysql -h192.168.xx.xx -P3306 -uroot -p
-```
-
-- 进入数据库命令行窗口后,执行数据库初始化命令,设置访问账号和密码。**注: {user} 和 {password} 
需要替换为具体的数据库用户名和密码** 
-
- ``` mysql
-    mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT 
COLLATE utf8_general_ci;
-    mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' 
IDENTIFIED BY '{password}';
-    mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' 
IDENTIFIED BY '{password}';
-    mysql> flush privileges;
- ```
-
-- 创建表和导入基础数据
-
-    - 修改 conf 目录下 datasource.properties 中的下列配置
-
-    ```shell
-      vi conf/datasource.properties
-    ```
-
-    - 如果选择 MySQL,请注释掉 PostgreSQL 相关配置(反之同理),还需要手动添加 [[ mysql-connector-java 驱动 
jar ](https://downloads.mysql.com/archives/c-j/)] 包到 lib 目录下,这里下载的是 
mysql-connector-java-5.1.47.jar,然后正确配置数据库连接相关信息
-    
-    ```properties
-      # postgre
-      # spring.datasource.driver-class-name=org.postgresql.Driver
-      # spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler
-      # mysql
-      spring.datasource.driver-class-name=com.mysql.jdbc.Driver
-      
spring.datasource.url=jdbc:mysql://xxx:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
     需要修改ip
-      spring.datasource.username=xxx                                           
需要修改为上面的{user}值
-      spring.datasource.password=xxx                                           
需要修改为上面的{password}值
-    ```
-
-    - 修改并保存完后,执行 script 目录下的创建表及导入基础数据脚本
-
-    ```shell
-    sh script/create-dolphinscheduler.sh
-    ```
-    *注意: 如果执行上述脚本报 “/bin/java: No such file or directory” 错误,请在/etc/profile 
下配置 JAVA_HOME 及 PATH 变量*
-
-# 6、修改运行参数
-
-- 修改 conf/env 目录下的 `dolphinscheduler_env.sh` 环境变量(以相关用到的软件都安装在 /opt/soft 下为例)
-
-```shell
-    export HADOOP_HOME=/opt/soft/hadoop
-    export HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop
-    # export SPARK_HOME1=/opt/soft/spark1
-    export SPARK_HOME2=/opt/soft/spark2
-    export PYTHON_HOME=/opt/soft/python
-    export JAVA_HOME=/opt/soft/java
-    export HIVE_HOME=/opt/soft/hive
-    export FLINK_HOME=/opt/soft/flink
-    export DATAX_HOME=/opt/soft/datax/bin/datax.py
-    export 
PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_HOME:$PATH
-
-```
-
-`注: 这一步非常重要,例如 JAVA_HOME 和 PATH 是必须要配置的,没有用到的可以忽略或者注释掉`
-
-
-
-- 将 JDK 软链到 /usr/bin/java 下(仍以 JAVA_HOME=/opt/soft/java 为例)
-
-```shell
-sudo ln -s /opt/soft/java/bin/java /usr/bin/java
-```
-
- - 修改一键部署配置文件 `conf/config/install_config.conf` 中的各参数,特别注意以下参数的配置
-
-```shell
-# 这里填 mysql or postgresql
-dbtype="mysql"
-
-# 数据库连接地址
-dbhost="192.168.xx.xx:3306"
-
-# 数据库名
-dbname="dolphinscheduler"
-
-# 数据库用户名,此处需要修改为上面设置的 {user} 具体值
-username="xxx"
-
-# 数据库密码,如果有特殊字符,请使用 \ 转义,需要修改为上面设置的 {password} 具体值
-password="xxx"
-
-# Zookeeper 地址
-zkQuorum="192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181"
-
-# 将 DS 安装到哪个目录,如: /opt/soft/dolphinscheduler,不同于现在的目录
-installPath="/opt/soft/dolphinscheduler"
-
-# 使用哪个用户部署,使用第 3 节创建的用户
-deployUser="dolphinscheduler"
-
-# 邮件配置,以 qq 邮箱为例
-# 邮件协议
-mailProtocol="SMTP"
-
-# 邮件服务地址
-mailServerHost="smtp.qq.com"
-
-# 邮件服务端口
-mailServerPort="25"
-
-# mailSender和 mailUser 配置成一样即可
-
-# 发送者
-mailSender="[email protected]"
-
-# 发送用户
-mailUser="[email protected]"
-
-# 邮箱密码
-mailPassword="xxx"
-
-# TLS 协议的邮箱设置为 true,否则设置为 false
-starttlsEnable="true"
-
-# 开启 SSL 协议的邮箱配置为 true,否则为 false。注意: starttlsEnable 和 sslEnable 不能同时为 true
-sslEnable="false"
-
-# 邮件服务地址值,参考上面 mailServerHost
-sslTrust="smtp.qq.com"
-
-# 业务用到的比如 sql 等资源文件上传到哪里,可以设置:HDFS,S3,NONE,单机如果想使用本地文件系统,请配置为 HDFS,因为 HDFS 
支持本地文件系统;如果不需要资源上传功能请选择 NONE。强调一点:使用本地文件系统不需要部署 hadoop
-resourceStorageType="HDFS"
-
-# 如果上传资源保存想保存在 hadoop 上,hadoop 集群的 NameNode 启用了 HA 的话,需要将 hadoop 的配置文件 
core-site.xml 和 hdfs-site.xml 放到安装路径的 conf 目录下,本例即是放到 
/opt/soft/dolphinscheduler/conf 下面,并配置 namenode cluster 名称;如果 NameNode 不是 
HA,则只需要将 mycluster 修改为具体的 ip 或者主机名即可
-defaultFS="hdfs://mycluster:8020"
-
-
-# 如果没有使用到 Yarn,保持以下默认值即可;如果 ResourceManager 是 HA,则配置为 ResourceManager 节点的主备 ip 
或者 hostname,比如 "192.168.xx.xx,192.168.xx.xx";如果是单 ResourceManager 请配置 
yarnHaIps="" 即可
-yarnHaIps="192.168.xx.xx,192.168.xx.xx"
-
-# 如果 ResourceManager 是 HA 或者没有使用到 Yarn 保持默认值即可;如果是单 ResourceManager,请配置真实的 
ResourceManager 主机名或者 ip
-singleYarnIp="yarnIp1"
-
-# 资源上传根路径,主持 HDFS 和 S3,由于 hdfs支持本地文件系统,需要确保本地文件夹存在且有读写权限
-resourceUploadPath="/data/dolphinscheduler"
-
-# 具备权限创建 resourceUploadPath的用户
-hdfsRootUser="hdfs"
-
-
-# 在哪些机器上部署 DS 服务,本机选 localhost
-ips="ds1,ds2,ds3,ds4"
-
-# ssh 端口,默认22
-sshPort="22"
-
-# master 服务部署在哪台机器上
+# ---------------------------------------------------------
+# INSTALL MACHINE
+# ---------------------------------------------------------
+# 需要配置master、worker、API server,所在服务器的IP均为机器IP或者localhost
+# 如果是配置hostname的话,需要保证机器间可以通过hostname相互链接
+# 如下图所示,部署 DolphinScheduler 机器的 hostname 为 ds1,ds2,ds3,ds4,ds5,其中 ds1,ds2 安装 
master 服务,ds3,ds4,ds5安装 worker 服务,alert server安装在ds4中,api server 安装在ds5中
+ips="ds1,ds2,ds3,ds4,ds5"
 masters="ds1,ds2"
-
-# worker 服务部署在哪台机器上,并指定此 worker 属于哪一个 worker 组,下面示例的 default 即为组名
-workers="ds3:default,ds4:default"
-
-# 报警服务部署在哪台机器上
-alertServer="ds2"
-
-# 后端 api 服务部署在在哪台机器上
-apiServers="ds1"
-
-```
-*特别注意:如果需要用资源上传到 Hadoop 集群功能, 并且 Hadoop 集群的 NameNode 配置了 HA 的话 ,需要开启 HDFS 
类型的资源上传,同时需要将 Hadoop 集群下的 core-site.xml 和 hdfs-site.xml 复制到 
/opt/dolphinscheduler/conf,非 NameNode HA 跳过次步骤*
-   
-   
-# 7、一键部署
-
-- 切换到部署用户 dolphinscheduler,然后执行一键部署脚本
-
-```bash
-sh install.sh
-``` 
-
-注意:第一次部署的话,在运行中第 3 步 `3,stop server` 出现 5 次以下信息,此信息可以忽略
-```shell
-sh: bin/dolphinscheduler-daemon.sh: No such file or directory
-```
-
-- 脚本完成后,会启动以下 5 个服务,使用 `jps` 命令查看服务是否启动( `jps` 为 `JDK` 自带)
-
-```aidl
-    MasterServer         ----- master服务
-    WorkerServer         ----- worker服务
-    LoggerServer         ----- logger服务
-    ApiApplicationServer ----- api服务
-    AlertServer          ----- alert服务
-```
-如果以上服务都正常启动,说明自动部署成功
-
-
-部署成功后,可以进行日志查看,日志统一存放于 logs 文件夹内
-
-```日志路径
- logs/
-    ├── dolphinscheduler-alert-server.log
-    ├── dolphinscheduler-master-server.log
-    |—— dolphinscheduler-worker-server.log
-    |—— dolphinscheduler-api-server.log
-    |—— dolphinscheduler-logger-server.log
-```
-
-# 8、登录系统
-
-- 访问前端页面地址,接口 ip (自行修改)
-http://192.168.xx.xx:12345/dolphinscheduler
-
-   <p align="center">
-     <img src="/img/login.png" width="60%" />
-   </p>
-
-
-
-# 9、启停服务
-
-* 一键停止集群所有服务
-
-```shell
-sh ./bin/stop-all.sh
-```
-
-* 一键开启集群所有服务
-
-```shell
-sh ./bin/start-all.sh
-```
-
-* 启停 Master
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start master-server
-sh ./bin/dolphinscheduler-daemon.sh stop master-server
-```
-
-* 启停 Worker
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start worker-server
-sh ./bin/dolphinscheduler-daemon.sh stop worker-server
+workers="ds3:default,ds4:default,ds5:default"
+alertServer="ds4"
+apiServers="ds5"
 ```
 
-* 启停 Api
+## 启动 DolphinScheduler && 登录 DolphinScheduler && 启停服务
 
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start api-server
-sh ./bin/dolphinscheduler-daemon.sh stop api-server
-```
-
-* 启停 Logger
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start logger-server
-sh ./bin/dolphinscheduler-daemon.sh stop logger-server
-```
-
-* 启停 Alert
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start alert-server
-sh ./bin/dolphinscheduler-daemon.sh stop alert-server
-```
-
-`注:服务用途请具体参见《系统架构设计》小节`
-
------
-### 附录
-
- - 如果您需要使用到企业微信进行告警,请在安装完成后,修改 alert.properties 文件,然后重启 alert 服务即可
-
-```
-# 设置企业微信告警功能是否开启:开启为 true,否则为 false
-enterprise.wechat.enable="true"
-```
-
-```
-# 设置 corpid,每个企业都拥有唯一的 corpid,获取此信息可在管理后台 “我的企业” - “企业信息” 下查看 “企业 ID”(需要有管理员权限)
-enterprise.wechat.corp.id="xxx"
-```
-<p align="center">
-  <img src="/img/alert/corpid.png" width="60%" />
-</p>
-
-```
-# 设置 secret,secret 是企业应用里面用于保障数据安全的 “钥匙”,每一个应用都有一个独立的访问密钥
-enterprise.wechat.secret="xxx"
-```
-<p align="center">
- <img src="/img/alert/secret.png" width="60%" />
-</p>
-
-```
-# 设置 agentid,每个应用都有唯一的 agentid。在管理后台 -> “应用与小程序” -> “应用”,点进某个应用,即可看到 agentid
-enterprise.wechat.agent.id="xxxx"
-```
-<p align="center">
-<img src="/img/alert/agentid.png" width="60%" />
-</p>
-
-```
-# 设置 userid,多个用逗号分隔。每个成员都有唯一的 userid,即所谓 “帐号”。在管理后台 -> “通讯录” -> 点进某个成员的详情页,可以看到
-enterprise.wechat.users=zhangsan,lisi
-```
-  <p align="center">
-   <img src="/img/alert/userid.png" width="60%" />
-  </p>
-  
-```
-# 获取 access_token 的地址,使用如下例子无需修改
-enterprise.wechat.token.url=https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpId}&corpsecret={secret}
-
-# 发送应用消息地址,使用如下例子无需改动
-enterprise.wechat.push.url=https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}
-
-# 发送消息格式,无需改动
-enterprise.wechat.user.send.msg={\"touser\":\"{toUser}\",\"agentid\":\"{agentId}\",\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"{msg}\"}}
-```
-
-- 关于 dolphinscheduler 在运行过程中,ip 地址获取错误的问题:
-
-> master 服务、worker 服务在 zookeeper 注册时,会以 ip:port 的形式创建相关信息
- 
-如果 ip 地址获取错误,请检查网络信息,如 Linux 系统通过 `ifconfig` 命令查看网络信息,以下图为例:
- 
-<p align="center">
-  <img src="/img/network/network_config.png" width="60%" />
-</p>
-
-可以使用 dolphinscheduler 提供的三种策略,获取可用 ip:
-
-  1. default: 优先获取内网网卡获取 ip 地址,其次获取外网网卡获取 ip 地址,在前两项失效情况下,使用第一块可用网卡的地址
-  2. inner: 使用内网网卡获取 ip地址,如果获取失败抛出异常信息
-  3. outer: 使用外网网卡获取 ip地址,如果获取失败抛出异常信息
-  
-  配置方式是在 `common.properties` 中修改相关配置:
-  
-  ```
-   # network IP gets priority, default: inner outer
-   # dolphin.scheduler.network.priority.strategy=default
-  ```
-  以上配置修改后重启服务生效
-
-如果 ip 地址获取依然错误,请下载 
[dolphinscheduler-netutils.jar](/asset/dolphinscheduler-netutils.jar) 
到相应机器,执行以下命令以进一步排障,并反馈给社区开发人员:
-
-```
-java -jar target/dolphinscheduler-netutils.jar
-```
-
-- 配置 sudo 免密,用于解决默认配置 sudo 权限过大或不能申请 root 权限的使用问题
-
-配置 dolphinscheduler OS 账号的 sudo 
权限为部分普通用户范围内的一个普通用户管理者,限制指定用户在指定主机上运行某些命令,详细配置请看 sudo 权限管理
-例如 sudo 权限管理配置 dolphinscheduler OS 账号只能操作用户 userA,userB,userC 的权限(其中用户 
userA,userB,userC 用于多租户向大数据集群提交作业)
-
-```shell
-echo 'dolphinscheduler  ALL=(userA,userB,userC)  NOPASSWD: NOPASSWD: ALL' >> 
/etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
-```
\ No newline at end of file
+[与伪集群部署](pseudo-cluster.md)保持一致
diff --git a/docs/zh-cn/dev/user_doc/guide/installation/kubernetes.md 
b/docs/zh-cn/dev/user_doc/guide/installation/kubernetes.md
index d69efa7..67b5cf0 100644
--- a/docs/zh-cn/dev/user_doc/guide/installation/kubernetes.md
+++ b/docs/zh-cn/dev/user_doc/guide/installation/kubernetes.md
@@ -1,5 +1,10 @@
 # 快速试用 Kubernetes 部署
 
+Kubernetes部署目的是在Kubernetes集群中部署 DolphinScheduler 服务,能调度大量任务,可用于在生产中部署。
+
+如果你是新手,想要体验 DolphinScheduler 
的功能,推荐使用[Standalone](standalone.md)方式体检。如果你想体验更完整的功能,或者更大的任务量,推荐使用[伪集群部署](pseudo-cluster.md)。如果你是在生产中使用,推荐使用[集群部署](cluster.md)或者[kubernetes](kubernetes.md)
+
+
 ## 先决条件
 
  - [Helm](https://helm.sh/) 3.1.0+
diff --git a/docs/zh-cn/dev/user_doc/guide/installation/pseudo-cluster.md 
b/docs/zh-cn/dev/user_doc/guide/installation/pseudo-cluster.md
new file mode 100644
index 0000000..225a5cc
--- /dev/null
+++ b/docs/zh-cn/dev/user_doc/guide/installation/pseudo-cluster.md
@@ -0,0 +1,195 @@
+# 伪集群部署
+
+伪集群部署目的是在单台机器部署 DolphinScheduler 服务,该模式下master、worker、api server、logger 
server都在同一台机器上
+
+如果你是新手,想要体验 DolphinScheduler 
的功能,推荐使用[Standalone](standalone.md)方式体检。如果你想体验更完整的功能,或者更大的任务量,推荐使用[伪集群部署](pseudo-cluster.md)。如果你是在生产中使用,推荐使用[集群部署](cluster.md)或者[kubernetes](kubernetes.md)
+
+## 前置准备工作
+
+伪分布式部署 DolphinScheduler 需要有外部软件的支持
+
+* JDK:下载[JDK][jdk] (1.8+),并将 JAVA_HOME 配置到以及 PATH 变量中。如果你的环境中已存在,可以跳过这步。
+* 二进制包:在[下载页面](../../../../../../download/zh-cn/download.md)下载 
DolphinScheduler 二进制包
+* 数据库:PostgreSQL (8.2.15+) 或者 MySQL (5.7+),两者任选其一即可,如 MySQL 则需要 JDBC Driver 
5.1.47+
+* 注册中心:ZooKeeper (3.4.6+),[下载地址][zookeeper]
+* 进程树分析
+  * macOS安装`pstree`
+  * Fedora/Red/Hat/CentOS/Ubuntu/Debian安装`psmisc`
+
+> **_注意:_** DolphinScheduler 本身不依赖 
Hadoop、Hive、Spark,但如果你运行的任务需要依赖他们,就需要有对应的环境支持
+
+## 准备 DolphinScheduler 启动环境
+
+### 配置用户免密及权限
+
+创建部署用户,并且一定要配置 `sudo` 免密。以创建 dolphinscheduler 用户为例
+
+```shell
+# 创建用户需使用 root 登录
+useradd dolphinscheduler
+
+# 添加密码
+echo "dolphinscheduler" | passwd --stdin dolphinscheduler
+
+# 配置 sudo 免密
+sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' /etc/sudoers
+sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+
+# 修改目录权限,使得部署用户对 dolphinscheduler-bin 目录有操作权限
+chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-bin
+```
+
+> **_注意:_**
+>
+> * 因为任务执行服务是以 `sudo -u {linux-user}` 切换不同 linux 用户的方式来实现多租户运行作业,所以部署用户需要有 
sudo 权限,而且是免密的。初学习者不理解的话,完全可以暂时忽略这一点
+> * 如果发现 `/etc/sudoers` 文件中有 "Defaults requirett" 这行,也请注释掉
+
+### 配置机器SSH免密登陆
+
+由于安装的时候需要向不同机器发送资源,所以要求各台机器间能实现SSH免密登陆。配置免密登陆的步骤如下
+
+```shell
+su dolphinscheduler
+
+ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
+cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
+chmod 600 ~/.ssh/authorized_keys
+```
+
+> **_注意:_** 配置完成后,可以通过运行命令 `ssh localhost` 判断是否成功,如果不需要输入密码就能ssh登陆则证明成功
+
+### 启动zookeeper
+
+进入 zookeeper 的安装目录,将 `zoo_sample.cfg` 配置文件复制到 `conf/zoo.cfg`,并将 `conf/zoo.cfg` 
中 dataDir 中的值改成 `dataDir=./tmp/zookeeper`
+
+```shell
+# 启动 zookeeper
+./bin/zkServer.sh start
+```
+
+### 初始化数据库
+
+DolphinScheduler 元数据存储在关系型数据库中,目前支持 PostgreSQL 和 MySQL,如果使用 MySQL 则需要手动下载 
[mysql-connector-java 驱动][mysql] (5.1.47+) 并移动到 DolphinScheduler 的 lib目录下。下面以 
MySQL 为例,说明如何初始化数据库
+
+```shell
+mysql -uroot -p
+
+mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT 
COLLATE utf8_general_ci;
+
+# 修改 {user} 和 {password} 为你希望的用户名和密码
+mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED 
BY '{password}';
+mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' 
IDENTIFIED BY '{password}';
+
+mysql> flush privileges;
+```
+
+修改数据库配置,并初始化
+
+```properties
+spring.datasource.driver-class-name=com.mysql.jdbc.Driver
+spring.datasource.url=jdbc:mysql://localhost:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
+# 如果你不是以 dolphinscheduler/dolphinscheduler 作为用户名和密码的,需要进行修改
+spring.datasource.username=dolphinscheduler
+spring.datasource.password=dolphinscheduler
+```
+
+修改并保存完后,执行 script 目录下的创建表及导入基础数据脚本
+
+```shell
+sh script/create-dolphinscheduler.sh
+```
+
+## 修改相关配置
+
+完成了基础环境的准备后,在运行部署命令前,还需要根据环境修改配置文件。配置文件在路径在`conf/config/install_config.conf`下,一般部署只需要修改**INSTALL
 MACHINE、DolphinScheduler ENV、Database、Registry Server**部分即可完成部署,下面对必须修改参数进行说明
+
+```shell
+# ---------------------------------------------------------
+# INSTALL MACHINE
+# ---------------------------------------------------------
+# 因为是在单节点上部署master、worker、API server,所以服务器的IP均为机器IP或者localhost
+ips="localhost"
+masters="localhost"
+workers="localhost:default"
+alertServer="localhost"
+apiServers="localhost"
+
+# DolphinScheduler安装路径,如果不存在会创建
+installPath="~/dolphinscheduler"
+
+# 部署用户,填写在 **配置用户免密及权限** 中创建的用户
+deployUser="dolphinscheduler"
+
+# ---------------------------------------------------------
+# DolphinScheduler ENV
+# ---------------------------------------------------------
+# JAVA_HOME 的路径,是在 **前置准备工作** 安装的JDK中 JAVA_HOME 所在的位置
+javaHome="/your/java/home/here"
+
+# ---------------------------------------------------------
+# Database
+# ---------------------------------------------------------
+# 数据库的类型,用户名,密码,IP,端口,元数据库db。其中dbtype目前支持 mysql 和 postgresql
+dbtype="mysql"
+dbhost="localhost:3306"
+# 如果你不是以 dolphinscheduler/dolphinscheduler 作为用户名和密码的,需要进行修改
+username="dolphinscheduler"
+password="dolphinscheduler"
+dbname="dolphinscheduler"
+
+# ---------------------------------------------------------
+# Registry Server
+# ---------------------------------------------------------
+# 注册中心地址,zookeeper服务的地址
+registryServers="localhost:2181"
+```
+
+## 启动 DolphinScheduler
+
+使用部署用户运行一下命令完成部署,部署后的运行日志将存放在 logs 文件夹内
+
+```shell
+sh install.sh
+```
+
+> **_注意:_** 第一次部署的话,可能出现 5 次`sh: bin/dolphinscheduler-daemon.sh: No such file 
or directory`相关信息,次为非重要信息直接忽略即可
+
+## 登录 DolphinScheduler
+
+浏览器访问地址 http://localhost:12345/dolphinscheduler 即可登录系统UI。默认的用户名和密码是 
**admin/dolphinscheduler123**
+
+## 启停服务
+
+```shell
+# 一键停止集群所有服务
+sh ./bin/stop-all.sh
+
+# 一键开启集群所有服务
+sh ./bin/start-all.sh
+
+# 启停 Master
+sh ./bin/dolphinscheduler-daemon.sh stop master-server
+sh ./bin/dolphinscheduler-daemon.sh start master-server
+
+# 启停 Worker
+sh ./bin/dolphinscheduler-daemon.sh start worker-server
+sh ./bin/dolphinscheduler-daemon.sh stop worker-server
+
+# 启停 Api
+sh ./bin/dolphinscheduler-daemon.sh start api-server
+sh ./bin/dolphinscheduler-daemon.sh stop api-server
+
+# 启停 Logger
+sh ./bin/dolphinscheduler-daemon.sh start logger-server
+sh ./bin/dolphinscheduler-daemon.sh stop logger-server
+
+# 启停 Alert
+sh ./bin/dolphinscheduler-daemon.sh start alert-server
+sh ./bin/dolphinscheduler-daemon.sh stop alert-server
+```
+
+> **_注意:_**:服务用途请具体参见《系统架构设计》小节
+
+[jdk]: https://www.oracle.com/technetwork/java/javase/downloads/index.html
+[zookeeper]: https://zookeeper.apache.org/releases.html
+[mysql]: https://downloads.MySQL.com/archives/c-j/
diff --git a/docs/zh-cn/dev/user_doc/guide/installation/standalone.md 
b/docs/zh-cn/dev/user_doc/guide/installation/standalone.md
index af108ad..7f47fad 100644
--- a/docs/zh-cn/dev/user_doc/guide/installation/standalone.md
+++ b/docs/zh-cn/dev/user_doc/guide/installation/standalone.md
@@ -1,341 +1,42 @@
-# 单机部署(Standalone)
+# Standalone极速体验版
 
-# 1、基础软件安装(必装项请自行安装)
+Standalone 仅适用于 DolphinScheduler 的快速体验.
 
- * PostgreSQL (8.2.15+) or MySQL (5.7系列):两者任选其一即可,如 MySQL 则需要 JDBC Driver 
5.1.47+
- * [JDK](https://www.oracle.com/technetwork/java/javase/downloads/index.html) 
(1.8+):必装,请安装好后在/etc/profile下配置 JAVA_HOME 及 PATH 变量
- * ZooKeeper (3.4.6+):必装 
- * pstree or psmisc:Mac OS必装pstree,Fedora/Red/Hat/CentOS/Ubuntu/Debian必装psmisc
- * Hadoop (2.6+) or MinIO:选装,如果需要用到资源上传功能,针对单机可以选择本地文件目录作为上传文件夹(此操作不需要部署 
Hadoop );当然也可以选择上传到 Hadoop or MinIO 集群上
+如果你是新手,想要体验 DolphinScheduler 
的功能,推荐使用[Standalone](standalone.md)方式体检。如果你想体验更完整的功能,或者更大的任务量,推荐使用[伪集群部署](pseudo-cluster.md)。如果你是在生产中使用,推荐使用[集群部署](cluster.md)或者[kubernetes](kubernetes.md)
 
-```markdown
- 注意:DolphinScheduler 本身不依赖 Hadoop、Hive、Spark,仅会调用它们的 Client,用于运行对应的任务
-```
-
-# 2、下载二进制tar.gz包
-
-- 请下载最新版本的后端安装包至服务器部署目录,比如创建 /opt/dolphinscheduler 做为安装部署目录,下载地址: 
[下载](/zh-cn/download/download.html),下载后上传 tar 包到该目录中,并进行解压
-
-```shell
-# 创建部署目录,部署目录请不要创建在 /root、/home 等高权限目录 
-mkdir -p /opt/dolphinscheduler
-cd /opt/dolphinscheduler
-
-# 解压缩
-tar -zxvf apache-dolphinscheduler-1.3.8-bin.tar.gz -C /opt/dolphinscheduler
- 
-mv apache-dolphinscheduler-1.3.8-bin  dolphinscheduler-bin
-```
-
-# 3、创建部署用户并赋予目录操作权限
-
-- 创建部署用户,并且一定要配置 sudo 免密。以创建 dolphinscheduler 用户为例
-
-```shell
-# 创建用户需使用 root 登录
-useradd dolphinscheduler
-
-# 添加密码
-echo "dolphinscheduler" | passwd --stdin dolphinscheduler
-
-# 配置 sudo 免密
-sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' /etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
-
-# 修改目录权限,使得部署用户对 dolphinscheduler-bin 目录有操作权限
-chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-bin
-```
-
-注意:
-- 因为任务执行服务是以 sudo -u {linux-user} 切换不同 linux 用户的方式来实现多租户运行作业,所以部署用户需要有 sudo 
权限,而且是免密的。初学习者不理解的话,完全可以暂时忽略这一点
-- 如果发现 /etc/sudoers 文件中有 "Defaults requirett" 这行,也请注释掉
-- 如果用到资源上传的话,还需要给该部署用户分配操作`本地文件系统或者 HDFS 或者 MinIO `的权限
-
-# 4、ssh免密配置
-
-- 切换到部署用户并配置 ssh 本机免密登录
-
-```shell
-su dolphinscheduler
-
-ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
-cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-chmod 600 ~/.ssh/authorized_keys
-```
-*注意:正常设置后,dolphinscheduler 用户在执行命令 `ssh localhost` 是不需要再输入密码的*
-
-# 5、数据库初始化
-
-- 进入数据库,默认数据库是 PostgreSQL,如选择 MySQL 的话,后续需要添加 mysql-connector-java 驱动包到 
DolphinScheduler 的 lib 目录下
-``` 
-mysql -uroot -p
-```
-
-- 进入数据库命令行窗口后,执行数据库初始化命令,设置访问账号和密码。**注: {user} 和 {password} 
需要替换为具体的数据库用户名和密码** 
-
-``` mysql
-   mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT 
COLLATE utf8_general_ci;
-   mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' 
IDENTIFIED BY '{password}';
-   mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' 
IDENTIFIED BY '{password}';
-   mysql> flush privileges;
-   ```
-
-
-- 创建表和导入基础数据
-
-    - 修改 conf 目录下 datasource.properties 中的下列配置
-
-    ```shell
-    vi conf/datasource.properties
-    ```
-
-    - 如果选择 MySQL,请注释掉 PostgreSQL 相关配置(反之同理),还需要手动添加 [[ mysql-connector-java 驱动 
jar ](https://downloads.MySQL.com/archives/c-j/)] 包到 lib 目录下,这里下载的是 
mysql-connector-java-5.1.47.jar,然后正确配置数据库连接相关信息
-    
-    ```properties
-      # postgre
-      # spring.datasource.driver-class-name=org.postgresql.Driver
-      # spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler
-      # mysql
-      spring.datasource.driver-class-name=com.mysql.jdbc.Driver
-      
spring.datasource.url=jdbc:mysql://xxx:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
     # 需要修改ip,本机localhost即可
-      spring.datasource.username=xxx                                           
# 需要修改为上面的{user}值
-      spring.datasource.password=xxx                                           
# 需要修改为上面的{password}值
-    ```
-
-    - 修改并保存完后,执行 script 目录下的创建表及导入基础数据脚本
-
-    ```shell
-    sh script/create-dolphinscheduler.sh
-    ```
-
-    *注意: 如果执行上述脚本提示 “/bin/java: No such file or directory” 错误,请在 /etc/profile 
下配置 JAVA_HOME 及 PATH 变量*
-
-# 6、修改运行参数
-
-- 修改 conf/env 目录下的 `dolphinscheduler_env.sh` 环境变量(以相关用到的软件都安装在 /opt/soft 下为例)
-
-```shell
-export HADOOP_HOME=/opt/soft/hadoop
-export HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop
-# export SPARK_HOME1=/opt/soft/spark1
-export SPARK_HOME2=/opt/soft/spark2
-export PYTHON_HOME=/opt/soft/python
-export JAVA_HOME=/opt/soft/java
-export HIVE_HOME=/opt/soft/hive
-export FLINK_HOME=/opt/soft/flink
-export DATAX_HOME=/opt/soft/datax/bin/datax.py
-export 
PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_HOME:$PATH
-```
-
-*注意: 这一步非常重要,例如 JAVA_HOME 和 PATH 是必须要配置的,没有用到的可以忽略或者注释掉;如果找不到 
dolphinscheduler_env.sh,请运行 `ls -a`*
-
-    
-
-- 将 jdk 软链到 /usr/bin/java 下(仍以 JAVA_HOME=/opt/soft/java 为例)
-
-```shell
-sudo ln -s /opt/soft/java/bin/java /usr/bin/java
-```
-
- - 修改一键部署配置文件 `conf/config/install_config.conf` 中的各参数,特别注意以下参数的配置
-
-```shell
-# 这里填 mysql or postgresql
-dbtype="mysql"
-
-# 数据库连接地址
-dbhost="localhost:3306"
-
-# 数据库名
-dbname="dolphinscheduler"
-
-# 数据库用户名,此处需要修改为上面设置的 {user} 具体值
-username="xxx"    
-
-# 数据库密码,如果有特殊字符,请使用 \ 转义,需要修改为上面设置的 {password} 具体值
-password="xxx"
-
-# Zookeeper地址,单机本机是 localhost:2181,记得把 2181 端口带上
-zkQuorum="localhost:2181"
-
-# 将 DS 安装到哪个目录,如: /opt/soft/dolphinscheduler,不同于现在的目录
-installPath="/opt/soft/dolphinscheduler"
-
-# 使用哪个用户部署,使用第 3 节创建的用户
-deployUser="dolphinscheduler"
-
-# 邮件配置,以 qq 邮箱为例
-# 邮件协议
-mailProtocol="SMTP"
+> **_注意:_** Standalone仅建议20个以下工作流使用,因为其采用 H2 Database, Zookeeper Testing 
Server,任务过多可能导致不稳定
 
-# 邮件服务地址
-mailServerHost="smtp.qq.com"
+## 前置准备工作
 
-# 邮件服务端口
-mailServerPort="25"
+* JDK:下载[JDK][jdk] (1.8+),并将 `JAVA_HOME` 配置到以及 `PATH` 变量中。如果你的环境中已存在,可以跳过这步。
+* 二进制包:在[下载页面](../../../../../../download/zh-cn/download.md)下载 
DolphinScheduler 二进制包
 
-# mailSender 和 mailUser 配置成一样即可
-# 发送者
-mailSender="[email protected]"
+## 启动 DolphinScheduler Standalone Server
 
-# 发送用户
-mailUser="[email protected]"
+### 解压并启动 DolphinScheduler
 
-# 邮箱密码
-mailPassword="xxx"
-
-# TLS 协议的邮箱设置为 true,否则设置为 false
-starttlsEnable="true"
-
-# 开启 SSL 协议的邮箱配置为 true,否则为 false。注意: starttlsEnable 和 sslEnable 不能同时为 true
-sslEnable="false"
-
-# 邮件服务地址值,参考上面 mailServerHost
-sslTrust="smtp.qq.com"
-
-# 业务用到的比如 sql 等资源文件上传到哪里,可以设置:HDFS,S3,NONE,单机如果想使用本地文件系统,请配置为 HDFS,因为 HDFS 
支持本地文件系统;如果不需要资源上传功能请选择 NONE。强调一点:使用本地文件系统不需要部署 hadoop
-resourceStorageType="HDFS"
-
-# 这里以保存到本地文件系统为例
-# 注:但是如果你想上传到 HDFS 的话,NameNode 启用了 HA,则需要将 hadoop 的配置文件 core-site.xml 和 
hdfs-site.xml 放到 conf 目录下,本例即是放到 /opt/dolphinscheduler/conf 下面,并配置 namenode 
cluster 名称;如果 NameNode 不是 HA,则修改为具体的 ip 或者主机名即可
-defaultFS="file:///data/dolphinscheduler"    #hdfs://{具体的ip/主机名}:8020
-
-# 如果没有使用到 Yarn,保持以下默认值即可;如果 ResourceManager 是 HA,则配置为 ResourceManager 节点的主备 ip 
或者 hostname,比如 "192.168.xx.xx,192.168.xx.xx" ;如果是单 ResourceManager 请配置 
yarnHaIps="" 即可
-# 注:依赖于yarn执行的任务,为了保证执行结果判断成功,需要确保yarn信息配置正确
-yarnHaIps="192.168.xx.xx,192.168.xx.xx"
-
-# 如果 ResourceManager 是 HA 或者没有使用到 Yarn 保持默认值即可;如果是单 ResourceManager,请配置真实的 
ResourceManager 主机名或者 ip
-singleYarnIp="yarnIp1"
-
-# 资源上传根路径,支持 HDFS 和 S3,由于 hdfs 支持本地文件系统,需要确保本地文件夹存在且有读写权限
-resourceUploadPath="/data/dolphinscheduler"
-
-# 具备权限创建 resourceUploadPath的用户
-hdfsRootUser="hdfs"
-    
-# 配置 api server port
-apiServerPort="12345"
-
-# 在哪些机器上部署 DS 服务,本机选 localhost
-ips="localhost"
-
-# ssh端口,默认22
-sshPort="22"
-
-# master服务部署在哪台机器上
-masters="localhost"
-
-# worker服务部署在哪台机器上,并指定此 worker 属于哪一个 worker 组,下面示例的 default 即为组名
-workers="localhost:default"
-
-# 报警服务部署在哪台机器上
-alertServer="localhost"
-
-# 后端api服务部署在在哪台机器上
-apiServers="localhost"
-
-```
-    
-
-    
-*注:如果打算用到 `资源中心` 功能,请执行以下命令:*
-
-```shell
-sudo mkdir /data/dolphinscheduler
-sudo chown -R dolphinscheduler:dolphinscheduler /data/dolphinscheduler
-```
-
-# 7、一键部署
-
-- 切换到部署用户,执行一键部署脚本
+二进制压缩包中有 standalone 启动的脚本,解压后即可快速启动。切换到有sudo权限的用户,运行脚本
 
 ```shell
-sh install.sh 
-```
-
-注意:第一次部署的话,在运行中第3步 `3,stop server` 出现 5 次以下信息,此信息可以忽略
-```
-sh: bin/dolphinscheduler-daemon.sh: No such file or directory
-```
-
-- 脚本完成后,会启动以下 5 个服务,使用 `jps`  命令查看服务是否启动( `jps` 为 `JDK` 自带)
-
-```aidl
-    MasterServer         ----- master服务
-    WorkerServer         ----- worker服务
-    LoggerServer         ----- logger服务
-    ApiApplicationServer ----- api服务
-    AlertServer          ----- alert服务
+# 解压并运行 Standalone Server
+tar -xvzf apache-dolphinscheduler-*-bin.tar.gz
+cd apache-dolphinscheduler-*-bin
+sh ./bin/dolphinscheduler-daemon.sh start standalone-server
 ```
-如果以上服务都正常启动,说明自动部署成功
 
+### 登录 DolphinScheduler
 
-部署成功后,可以进行日志查看,日志统一存放于 logs 文件夹内
+浏览器访问地址 http://localhost:12345/dolphinscheduler 即可登录系统UI。默认的用户名和密码是 
**admin/dolphinscheduler123**
 
-```日志路径
- logs/
-    ├── dolphinscheduler-alert-server.log
-    ├── dolphinscheduler-master-server.log
-    |—— dolphinscheduler-worker-server.log
-    |—— dolphinscheduler-api-server.log
-    |—— dolphinscheduler-logger-server.log
-```
-
-# 8、登录系统
-
-- 访问前端页面地址,接口 ip (自行修改)
-http://192.168.xx.xx:12345/dolphinscheduler
-
-   <p align="center">
-     <img src="/img/login.png" width="60%" />
-   </p>
-
-# 9、启停服务
-
-* 一键停止集群所有服务
-```shell
-sh ./bin/stop-all.sh
-```
-
-* 一键开启集群所有服务
-
-```shell
-sh ./bin/start-all.sh
-```
-
-* 启停 Master
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start master-server
-sh ./bin/dolphinscheduler-daemon.sh stop master-server
-```
-
-* 启停 Worker
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start worker-server
-sh ./bin/dolphinscheduler-daemon.sh stop worker-server
-```
-
-* 启停 Api
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start api-server
-sh ./bin/dolphinscheduler-daemon.sh stop api-server
-```
-
-* 启停 Logger
-
-```shell
-sh ./bin/dolphinscheduler-daemon.sh start logger-server
-sh ./bin/dolphinscheduler-daemon.sh stop logger-server
-```
+## 启停服务
 
-* 启停 Alert
+脚本 `./bin/dolphinscheduler-daemon.sh` 除了可以快捷启动 standalone 外,还能停止服务运行,全部命令如下
 
 ```shell
-sh ./bin/dolphinscheduler-daemon.sh start alert-server
-sh ./bin/dolphinscheduler-daemon.sh stop alert-server
+# 启动 Standalone Server 服务
+sh ./bin/dolphinscheduler-daemon.sh start standalone-server
+# 停止 Standalone Server 服务
+sh ./bin/dolphinscheduler-daemon.sh stop standalone-server
 ```
 
-`注:服务用途请具体参见《系统架构设计》小节`
+[jdk]: https://www.oracle.com/technetwork/java/javase/downloads/index.html
diff --git a/docs/zh-cn/dev/user_doc/guide/resource.md 
b/docs/zh-cn/dev/user_doc/guide/resource.md
index 1e2219a..f6fc76c 100644
--- a/docs/zh-cn/dev/user_doc/guide/resource.md
+++ b/docs/zh-cn/dev/user_doc/guide/resource.md
@@ -1,5 +1,12 @@
 # 资源中心
 
+如果需要用到资源上传功能,针对单机可以选择本地文件目录作为上传文件夹(此操作不需要部署 Hadoop)。当然也可以选择上传到 Hadoop or MinIO 
集群上,此时则需要有Hadoop (2.6+) 或者 MinIO 等相关环境
+
+> **_注意:_**
+>
+> * 如果用到资源上传的功能,那么 [安装部署](installation/standalone.md)中,部署用户需要有这部分的操作权限
+> * 如果 Hadoop 集群的 NameNode 配置了 HA 的话,需要开启 HDFS 类型的资源上传,同时需要将 Hadoop 集群下的 
`core-site.xml` 和 `hdfs-site.xml` 复制到 `/opt/dolphinscheduler/conf`,非 NameNode 
HA 跳过次步骤
+
 ## hdfs资源配置
 
 - 上传资源文件和udf函数,所有上传的文件和资源都会被存储到hdfs上,所以需要以下配置项:
diff --git a/docs/zh-cn/release/faq.md b/docs/zh-cn/release/faq.md
index 9691a63..f0207ed 100644
--- a/docs/zh-cn/release/faq.md
+++ b/docs/zh-cn/release/faq.md
@@ -542,6 +542,48 @@ A:1,目前是按照自然天来判断,上月末:判断时间是工作流
 ## Q:DS 后端接口文档
 A:1,http://106.75.43.194:8888/dolphinscheduler/doc.html?language=zh_CN&lang=zh。
 
+
+## dolphinscheduler 在运行过程中,ip 地址获取错误的问题
+
+master 服务、worker 服务在 zookeeper 注册时,会以 ip:port 的形式创建相关信息
+
+如果 ip 地址获取错误,请检查网络信息,如 Linux 系统通过 `ifconfig` 命令查看网络信息,以下图为例:
+
+<p align="center">
+  <img src="/img/network/network_config.png" width="60%" />
+</p>
+
+可以使用 dolphinscheduler 提供的三种策略,获取可用 ip:
+
+* default: 优先获取内网网卡获取 ip 地址,其次获取外网网卡获取 ip 地址,在前两项失效情况下,使用第一块可用网卡的地址
+* inner: 使用内网网卡获取 ip地址,如果获取失败抛出异常信息
+* outer: 使用外网网卡获取 ip地址,如果获取失败抛出异常信息
+
+配置方式是在 `common.properties` 中修改相关配置:
+
+```shell
+# network IP gets priority, default: inner outer
+# dolphin.scheduler.network.priority.strategy=default
+```
+
+以上配置修改后重启服务生效
+
+如果 ip 地址获取依然错误,请下载 
[dolphinscheduler-netutils.jar](/asset/dolphinscheduler-netutils.jar) 
到相应机器,执行以下命令以进一步排障,并反馈给社区开发人员:
+
+```shell
+java -jar target/dolphinscheduler-netutils.jar
+```
+
+## 配置 sudo 免密,用于解决默认配置 sudo 权限过大或不能申请 root 权限的使用问题
+
+配置 dolphinscheduler OS 账号的 sudo 
权限为部分普通用户范围内的一个普通用户管理者,限制指定用户在指定主机上运行某些命令,详细配置请看 sudo 权限管理
+例如 sudo 权限管理配置 dolphinscheduler OS 账号只能操作用户 userA,userB,userC 的权限(其中用户 
userA,userB,userC 用于多租户向大数据集群提交作业)
+
+```shell
+echo 'dolphinscheduler  ALL=(userA,userB,userC)  NOPASSWD: NOPASSWD: ALL' >> 
/etc/sudoers
+sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+```
+
 ---
 
 我们会持续收集更多的 FAQ。
diff --git a/img/alert/agentid.png b/img/alert/agentid.png
deleted file mode 100644
index 5f21a6a..0000000
Binary files a/img/alert/agentid.png and /dev/null differ
diff --git a/img/alert/corpid.png b/img/alert/corpid.png
deleted file mode 100644
index 25002f4..0000000
Binary files a/img/alert/corpid.png and /dev/null differ
diff --git a/img/alert/secret.png b/img/alert/secret.png
deleted file mode 100644
index 0ea301f..0000000
Binary files a/img/alert/secret.png and /dev/null differ
diff --git a/img/alert/userid.png b/img/alert/userid.png
deleted file mode 100644
index 8336b24..0000000
Binary files a/img/alert/userid.png and /dev/null differ
diff --git a/site_config/docsdev.js b/site_config/docsdev.js
index c75c3b1..655704e 100644
--- a/site_config/docsdev.js
+++ b/site_config/docsdev.js
@@ -24,6 +24,10 @@ export default {
                 link: 
'/en-us/docs/dev/user_doc/guide/installation/standalone.html',
               },
               {
+                title: 'Pseudo Cluster Deployment',
+                link: 
'/en-us/docs/dev/user_doc/guide/installation/pseudo-cluster.html',
+              },
+              {
                 title: 'Cluster Deployment',
                 link: 
'/en-us/docs/dev/user_doc/guide/installation/cluster.html',
               },
@@ -161,6 +165,15 @@ export default {
             ],
           },
           {
+            title: 'Alert',
+            children: [
+              {
+                title: 'Enterprise Wechat',
+                link: 
'/en-us/docs/dev/user_doc/guide/alert/enterprise-wechat.html',
+              },
+            ],
+          },
+          {
             title: 'Resource',
             link: '/en-us/docs/dev/user_doc/guide/resource.html',
           },
@@ -247,10 +260,6 @@ export default {
         title: 'To be Classification',
         children: [
           {
-            title: 'Dev-Quick-Start',
-            link: '/en-us/docs/dev/user_doc/dev_quick_start.html',
-          },
-          {
             title: 'Global-Params',
             link: '/en-us/docs/dev/user_doc/globalParams.html',
           },
@@ -288,6 +297,10 @@ export default {
                 link: 
'/zh-cn/docs/dev/user_doc/guide/installation/standalone.html',
               },
               {
+                title: '伪集群部署(Pseudo-Cluster)',
+                link: 
'/zh-cn/docs/dev/user_doc/guide/installation/pseudo-cluster.html',
+              },
+              {
                 title: '集群部署(Cluster)',
                 link: 
'/zh-cn/docs/dev/user_doc/guide/installation/cluster.html',
               },
@@ -425,6 +438,15 @@ export default {
             ],
           },
           {
+            title: '告警',
+            children: [
+              {
+                title: '企业微信',
+                link: 
'/zh-cn/docs/dev/user_doc/guide/alert/enterprise-wechat.html',
+              },
+            ],
+          },
+          {
             title: '资源中心',
             link: '/zh-cn/docs/dev/user_doc/guide/resource.html',
           },
@@ -502,10 +524,6 @@ export default {
         title: '待分类文档',
         children: [
           {
-            title: 'Dev-Quick-Start',
-            link: '/zh-cn/docs/dev/user_doc/dev_quick_start.html',
-          },
-          {
             title: 'Global-Params',
             link: '/zh-cn/docs/dev/user_doc/globalParams.html',
           },

Reply via email to