You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by pe...@apache.org on 2021/10/28 12:07:42 UTC

[incubator-linkis-website] 13/50: ADD: 增加README的解析

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

peacewong pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/incubator-linkis-website.git

commit c1aaacea568402382692aa74f0e2d8dde88d5d94
Author: lucaszhu <lu...@webank.com>
AuthorDate: Sat Oct 9 16:05:58 2021 +0800

    ADD: 增加README的解析
---
 package-lock.json  | 162 +++++++++++++++++++++++++++++++++
 package.json       |   4 +-
 src/docs/deploy.md | 256 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/main.js        |   1 +
 src/pages/docs.vue |  56 +++++++++++-
 vite.config.js     |  11 ++-
 6 files changed, 487 insertions(+), 3 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index a56c21f..ac4a059 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -51,6 +51,16 @@
         "@intlify/shared": "9.2.0-beta.11"
       }
     },
+    "@rollup/pluginutils": {
+      "version": "4.1.1",
+      "resolved": "http://10.107.103.115:8001/@rollup/pluginutils/download/@rollup/pluginutils-4.1.1.tgz",
+      "integrity": "sha1-HU2obdTt7RVlalfZM/2iuaCNR+w=",
+      "dev": true,
+      "requires": {
+        "estree-walker": "^2.0.1",
+        "picomatch": "^2.2.2"
+      }
+    },
     "@vitejs/plugin-vue": {
       "version": "1.9.2",
       "resolved": "http://10.107.103.115:8001/@vitejs/plugin-vue/download/@vitejs/plugin-vue-1.9.2.tgz",
@@ -161,6 +171,15 @@
       "resolved": "http://10.107.103.115:8001/@vue/shared/download/@vue/shared-3.2.19.tgz",
       "integrity": "sha1-ER7D2hgzfYYnREaYTEmSWxsrLdc="
     },
+    "argparse": {
+      "version": "1.0.10",
+      "resolved": "http://10.107.103.115:8001/argparse/download/argparse-1.0.10.tgz",
+      "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=",
+      "dev": true,
+      "requires": {
+        "sprintf-js": "~1.0.2"
+      }
+    },
     "copy-anything": {
       "version": "2.0.3",
       "resolved": "http://10.107.103.115:8001/copy-anything/download/copy-anything-2.0.3.tgz",
@@ -201,6 +220,12 @@
       "integrity": "sha1-vmAtt8TceJRKnb3g0eoZ02wfiC0=",
       "dev": true
     },
+    "esprima": {
+      "version": "4.0.1",
+      "resolved": "http://10.107.103.115:8001/esprima/download/esprima-4.0.1.tgz",
+      "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=",
+      "dev": true
+    },
     "estree-walker": {
       "version": "2.0.2",
       "resolved": "http://10.107.103.115:8001/estree-walker/download/estree-walker-2.0.2.tgz",
@@ -219,6 +244,11 @@
       "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
       "dev": true
     },
+    "github-markdown-css": {
+      "version": "4.0.0",
+      "resolved": "http://10.107.103.115:8001/github-markdown-css/download/github-markdown-css-4.0.0.tgz",
+      "integrity": "sha1-vp9Mr3o4kijUw2gzYmD/yQkGHzU="
+    },
     "graceful-fs": {
       "version": "4.2.8",
       "resolved": "http://10.107.103.115:8001/graceful-fs/download/graceful-fs-4.2.8.tgz",
@@ -226,6 +256,18 @@
       "dev": true,
       "optional": true
     },
+    "gray-matter": {
+      "version": "4.0.3",
+      "resolved": "http://10.107.103.115:8001/gray-matter/download/gray-matter-4.0.3.tgz",
+      "integrity": "sha1-6JPAZIJd5z6h9ffYjHqfcnQoh5g=",
+      "dev": true,
+      "requires": {
+        "js-yaml": "^3.13.1",
+        "kind-of": "^6.0.2",
+        "section-matter": "^1.0.0",
+        "strip-bom-string": "^1.0.0"
+      }
+    },
     "has": {
       "version": "1.0.3",
       "resolved": "http://10.107.103.115:8001/has/download/has-1.0.3.tgz",
@@ -261,12 +303,34 @@
         "has": "^1.0.3"
       }
     },
+    "is-extendable": {
+      "version": "0.1.1",
+      "resolved": "http://10.107.103.115:8001/is-extendable/download/is-extendable-0.1.1.tgz",
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+      "dev": true
+    },
     "is-what": {
       "version": "3.14.1",
       "resolved": "http://10.107.103.115:8001/is-what/download/is-what-3.14.1.tgz",
       "integrity": "sha1-4SIvRt3ahd6tD9HJ3xMXYOd3VcE=",
       "dev": true
     },
+    "js-yaml": {
+      "version": "3.14.1",
+      "resolved": "http://10.107.103.115:8001/js-yaml/download/js-yaml-3.14.1.tgz",
+      "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=",
+      "dev": true,
+      "requires": {
+        "argparse": "^1.0.7",
+        "esprima": "^4.0.0"
+      }
+    },
+    "kind-of": {
+      "version": "6.0.3",
+      "resolved": "http://10.107.103.115:8001/kind-of/download/kind-of-6.0.3.tgz",
+      "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=",
+      "dev": true
+    },
     "less": {
       "version": "4.1.1",
       "resolved": "http://10.107.103.115:8001/less/download/less-4.1.1.tgz",
@@ -304,6 +368,48 @@
         "semver": "^5.6.0"
       }
     },
+    "markdown-it": {
+      "version": "12.2.0",
+      "resolved": "http://10.107.103.115:8001/markdown-it/download/markdown-it-12.2.0.tgz",
+      "integrity": "sha1-CR9yD9XbIG+A3nqNHxpwNf0NONs=",
+      "dev": true,
+      "requires": {
+        "argparse": "^2.0.1",
+        "entities": "~2.1.0",
+        "linkify-it": "^3.0.1",
+        "mdurl": "^1.0.1",
+        "uc.micro": "^1.0.5"
+      },
+      "dependencies": {
+        "argparse": {
+          "version": "2.0.1",
+          "resolved": "http://10.107.103.115:8001/argparse/download/argparse-2.0.1.tgz",
+          "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=",
+          "dev": true
+        },
+        "entities": {
+          "version": "2.1.0",
+          "resolved": "http://10.107.103.115:8001/entities/download/entities-2.1.0.tgz",
+          "integrity": "sha1-mS0xKc999ocLlsV4WMJJoSD4uLU=",
+          "dev": true
+        },
+        "linkify-it": {
+          "version": "3.0.3",
+          "resolved": "http://10.107.103.115:8001/linkify-it/download/linkify-it-3.0.3.tgz",
+          "integrity": "sha1-qYuvRM5FpVDvtNScdp0HUkzC+i4=",
+          "dev": true,
+          "requires": {
+            "uc.micro": "^1.0.1"
+          }
+        }
+      }
+    },
+    "mdurl": {
+      "version": "1.0.1",
+      "resolved": "http://10.107.103.115:8001/mdurl/download/mdurl-1.0.1.tgz",
+      "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
+      "dev": true
+    },
     "mime": {
       "version": "1.6.0",
       "resolved": "http://10.107.103.115:8001/mime/download/mime-1.6.0.tgz",
@@ -352,6 +458,12 @@
       "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=",
       "dev": true
     },
+    "picomatch": {
+      "version": "2.3.0",
+      "resolved": "http://10.107.103.115:8001/picomatch/download/picomatch-2.3.0.tgz",
+      "integrity": "sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=",
+      "dev": true
+    },
     "pify": {
       "version": "4.0.1",
       "resolved": "http://10.107.103.115:8001/pify/download/pify-4.0.1.tgz",
@@ -409,6 +521,27 @@
       "dev": true,
       "optional": true
     },
+    "section-matter": {
+      "version": "1.0.0",
+      "resolved": "http://10.107.103.115:8001/section-matter/download/section-matter-1.0.0.tgz",
+      "integrity": "sha1-6QQZU1BngOwB1Z8pKhnHuFC4QWc=",
+      "dev": true,
+      "requires": {
+        "extend-shallow": "^2.0.1",
+        "kind-of": "^6.0.0"
+      },
+      "dependencies": {
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "http://10.107.103.115:8001/extend-shallow/download/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
+          "requires": {
+            "is-extendable": "^0.1.0"
+          }
+        }
+      }
+    },
     "semver": {
       "version": "5.7.1",
       "resolved": "http://10.107.103.115:8001/semver/download/semver-5.7.1.tgz",
@@ -431,12 +564,30 @@
       "resolved": "http://10.107.103.115:8001/sourcemap-codec/download/sourcemap-codec-1.4.8.tgz",
       "integrity": "sha1-6oBL2UhXQC5pktBaOO8a41qatMQ="
     },
+    "sprintf-js": {
+      "version": "1.0.3",
+      "resolved": "http://10.107.103.115:8001/sprintf-js/download/sprintf-js-1.0.3.tgz",
+      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+      "dev": true
+    },
+    "strip-bom-string": {
+      "version": "1.0.0",
+      "resolved": "http://10.107.103.115:8001/strip-bom-string/download/strip-bom-string-1.0.0.tgz",
+      "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=",
+      "dev": true
+    },
     "tslib": {
       "version": "1.14.1",
       "resolved": "http://10.107.103.115:8001/tslib/download/tslib-1.14.1.tgz",
       "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=",
       "dev": true
     },
+    "uc.micro": {
+      "version": "1.0.6",
+      "resolved": "http://10.107.103.115:8001/uc.micro/download/uc.micro-1.0.6.tgz",
+      "integrity": "sha1-nEEagCpAmpH8bPdAgbq6NLJEmaw=",
+      "dev": true
+    },
     "vite": {
       "version": "2.5.10",
       "resolved": "http://10.107.103.115:8001/vite/download/vite-2.5.10.tgz",
@@ -450,6 +601,17 @@
         "rollup": "^2.38.5"
       }
     },
+    "vite-plugin-md": {
+      "version": "0.11.1",
+      "resolved": "http://10.107.103.115:8001/vite-plugin-md/download/vite-plugin-md-0.11.1.tgz",
+      "integrity": "sha1-vEBFXrVnZzlenM9G70pQ6MDSt0g=",
+      "dev": true,
+      "requires": {
+        "@rollup/pluginutils": "^4.1.1",
+        "gray-matter": "^4.0.3",
+        "markdown-it": "^12.2.0"
+      }
+    },
     "vue": {
       "version": "3.2.19",
       "resolved": "http://10.107.103.115:8001/vue/download/vue-3.2.19.tgz",
diff --git a/package.json b/package.json
index 1e0962d..fbf0877 100644
--- a/package.json
+++ b/package.json
@@ -7,6 +7,7 @@
     "serve": "vite preview"
   },
   "dependencies": {
+    "github-markdown-css": "^4.0.0",
     "vue": "^3.2.13",
     "vue-i18n": "^9.2.0-beta.11",
     "vue-router": "^4.0.11"
@@ -14,6 +15,7 @@
   "devDependencies": {
     "@vitejs/plugin-vue": "^1.9.0",
     "less": "^4.1.1",
-    "vite": "^2.5.10"
+    "vite": "^2.5.10",
+    "vite-plugin-md": "^0.11.1"
   }
 }
diff --git a/src/docs/deploy.md b/src/docs/deploy.md
new file mode 100644
index 0000000..523ac90
--- /dev/null
+++ b/src/docs/deploy.md
@@ -0,0 +1,256 @@
+## 注意事项
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**如果您是首次接触并使用Linkis,您可以忽略该章节;如果您已经是 Linkis 的使用用户,安装或升级前建议先阅读:[Linkis1.0 与 Linkis0.X 的区别简述](https://github.com/WeBankFinTech/Linkis-Doc/blob/master/zh_CN/Architecture_Documents/Linkis1.0%E4%B8%8ELinkis0.X%E7%9A%84%E5%8C%BA%E5%88%AB%E7%AE%80%E8%BF%B0.md)**。
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;请注意:除了 Linkis1.0 安装包默认已经包含的:Python/Shell/Hive/Spark四个EngineConnPlugin以外,如果大家有需要,可以手动安装如 JDBC 引擎等类型的其他引擎,具体请参考 [EngineConnPlugin引擎插件安装文档](https://github.com/WeBankFinTech/Linkis-Doc/blob/master/zh_CN/Deployment_Documents/EngineConnPlugin%E5%BC%95%E6%93%8E%E6%8F%92%E4%BB%B6%E5%AE%89%E8%A3%85%E6%96%87%E6%A1%A3.md)。
+
+**Linkis Docker镜像**  
+[Linkis 0.10.0 Docker](https://hub.docker.com/repository/docker/wedatasphere/linkis)
+
+Linkis1.0 默认已适配的引擎列表如下:
+
+| 引擎类型 | 适配情况 | 官方安装包是否包含 |
+|---|---|---|
+| Python | 1.0已适配 | 包含 |
+| JDBC | 1.0已适配 | **不包含** |
+| Shell | 1.0已适配 | 包含 |
+| Hive | 1.0已适配 | 包含 |
+| Spark | 1.0已适配 | 包含 |
+| Pipeline | 1.0已适配 | **不包含** |
+| Presto | **1.0未适配** | **不包含** |
+| ElasticSearch | **1.0未适配** | **不包含** |
+| Impala | **1.0未适配** | **不包含** |
+| MLSQL | **1.0未适配** | **不包含** |
+| TiSpark | **1.0未适配** | **不包含** |
+
+## 一、确定您的安装环境
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这里给出每个引擎的依赖信息列表:
+
+| 引擎类型 | 依赖环境 | 特殊说明 |
+|---|---|---|
+| Python| Python环境 | 日志和结果集如果配置hdfs://则依赖HDFS环境|
+| JDBC| 可以无依赖 | 日志和结果集路径如果配置hdfs://则依赖HDFS环境 |
+| Shell| 可以无依赖 | 日志和结果集路径如果配置hdfs://则依赖HDFS环境 |
+| Hive| 依赖Hadoop和Hive环境 |  |
+| Spark| 依赖Hadoop/Hive/Spark |  |
+
+**要求:安装Linkis需要至少3G内存。**
+
+默认每个微服务JVM堆内存为512M,可以通过修改`SERVER_HEAP_SIZE`来统一调整每个微服务的堆内存,如果您的服务器资源较少,我们建议修改该参数为128M。如下:
+
+```bash
+    vim ${LINKIS_HOME}/config/linkis-env.sh
+```
+
+```bash
+    # java application default jvm memory.
+    export SERVER_HEAP_SIZE="128M"
+```
+
+----
+
+## 二、Linkis环境准备
+
+### a. 基础软件安装
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下面的软件必装:
+
+- MySQL (5.5+),[如何安装MySQL](https://www.runoob.com/mysql/mysql-install.html)
+- JDK (1.8.0_141以上),[如何安装JDK](https://www.runoob.com/java/java-environment-setup.html)
+
+ 
+### b. 创建用户
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例如: **部署用户是hadoop账号**
+
+1. 在部署机器上创建部署用户,用于安装
+
+```bash
+    sudo useradd hadoop  
+```
+2. 因为Linkis的服务是以 sudo -u ${linux-user} 方式来切换引擎,从而执行作业,所以部署用户需要有 sudo 权限,而且是免密的。
+
+```bash
+    vi /etc/sudoers
+```
+
+```text
+    hadoop  ALL=(ALL)       NOPASSWD: NOPASSWD: ALL
+```
+
+3. **在每台安装节点设置如下的全局环境变量,以便Linkis能正常使用Hadoop、Hive和Spark**。
+  
+   修改安装用户的.bash_rc,命令如下:
+
+```bash     
+    vim /home/hadoop/.bash_rc ##以部署用户Hadoop为例
+```
+
+   下方为环境变量示例:
+
+```bash
+    #JDK
+    export JAVA_HOME=/nemo/jdk1.8.0_141
+
+    ##如果不使用Hive、Spark等引擎且不依赖Hadoop,则不需要修改以下环境变量
+    #HADOOP  
+    export HADOOP_HOME=/appcom/Install/hadoop
+    export HADOOP_CONF_DIR=/appcom/config/hadoop-config
+    #Hive
+    export HIVE_HOME=/appcom/Install/hive
+    export HIVE_CONF_DIR=/appcom/config/hive-config
+    #Spark
+    export SPARK_HOME=/appcom/Install/spark
+    export SPARK_CONF_DIR=/appcom/config/spark-config/
+    export PYSPARK_ALLOW_INSECURE_GATEWAY=1  # Pyspark必须加的参数
+```
+
+4. **如果您的Pyspark和Python想拥有画图功能,则还需在所有安装节点,安装画图模块**。命令如下:
+
+```bash
+    python -m pip install matplotlib
+```
+
+### c. 安装包准备
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;从Linkis已发布的release中([点击这里进入下载页面](https://github.com/WeBankFinTech/Linkis/releases)),下载最新安装包。
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;先解压安装包到安装目录,并对解压后的文件进行配置修改。
+
+```bash   
+    tar -xvf  wedatasphere-linkis-x.x.x-combined-package-dist.tar.gz
+```
+      
+### d. 不依赖HDFS的基础配置修改
+
+```bash
+    vi config/linkis-env.sh
+```
+        
+```properties
+
+    #SSH_PORT=22        #指定SSH端口,如果单机版本安装可以不配置
+    deployUser=hadoop      #指定部署用户
+    LINKIS_INSTALL_HOME=/appcom/Install/Linkis    # 指定安装目录
+    WORKSPACE_USER_ROOT_PATH=file:///tmp/hadoop    # 指定用户根目录,一般用于存储用户的脚本文件和日志文件等,是用户的工作空间。
+    RESULT_SET_ROOT_PATH=file:///tmp/linkis   # 结果集文件路径,用于存储Job的结果集文件
+    ENGINECONN_ROOT_PATH=/appcom/tmp #存放ECP的安装路径,需要部署用户有写权限的本地目录
+    ENTRANCE_CONFIG_LOG_PATH=file:///tmp/linkis/  #ENTRANCE的日志路径
+    ## LDAP配置,默认Linkis只支持部署用户登录,如果需要支持多用户登录可以使用LDAP,需要配置以下参数:
+    #LDAP_URL=ldap://localhost:1389/ 
+    #LDAP_BASEDN=dc=webank,dc=com
+```
+### e. 依赖HDFS/Hive/Spark的基础配置修改
+
+```bash
+     vi config/linkis-env.sh
+```
+        
+```properties
+    SSH_PORT=22        #指定SSH端口,如果单机版本安装可以不配置
+    deployUser=hadoop      #指定部署用户
+    WORKSPACE_USER_ROOT_PATH=file:///tmp/hadoop    # 指定用户根目录,一般用于存储用户的脚本文件和日志文件等,是用户的工作空间。
+    RESULT_SET_ROOT_PATH=hdfs:///tmp/linkis   # 结果集文件路径,用于存储Job的结果集文件
+    ENGINECONN_ROOT_PATH=/appcom/tmp #存放ECP的安装路径,需要部署用户有写权限的本地目录
+    ENTRANCE_CONFIG_LOG_PATH=hdfs:///tmp/linkis/  #ENTRANCE的日志路径
+
+    #因为1.0支持多Yarn集群,使用到Yarn队列资源的一定需要配置YARN_RESTFUL_URL
+    YARN_RESTFUL_URL=http://127.0.0.1:8088  #Yarn的ResourceManager的地址
+
+    # 如果您想配合Scriptis一起使用,CDH版的Hive,还需要配置如下参数(社区版Hive可忽略该配置)
+    HIVE_META_URL=jdbc://...   # HiveMeta元数据库的URL
+    HIVE_META_USER=   # HiveMeta元数据库的用户
+    HIVE_META_PASSWORD=    # HiveMeta元数据库的密码
+    
+    # 配置hadoop/hive/spark的配置目录 
+    HADOOP_CONF_DIR=/appcom/config/hadoop-config  #hadoop的conf目录
+    HIVE_CONF_DIR=/appcom/config/hive-config   #hive的conf目录
+    SPARK_CONF_DIR=/appcom/config/spark-config #spark的conf目录
+
+    ## LDAP配置,默认Linkis只支持部署用户登录,如果需要支持多用户登录可以使用LDAP,需要配置以下参数:
+    #LDAP_URL=ldap://localhost:1389/ 
+    #LDAP_BASEDN=dc=webank,dc=com
+    
+    ##如果spark不是2.4.3的版本需要修改参数:
+    #SPARK_VERSION=3.1.1
+
+    ##如果hive不是1.2.1的版本需要修改参数:
+    #HIVE_VERSION=2.3.3
+```
+
+### f. 修改数据库配置 
+
+```bash   
+    vi config/db.sh 
+```
+            
+```properties    
+
+    # 设置数据库的连接信息
+    # 包括IP地址、数据库名称、用户名、端口
+    # 主要用于存储用户的自定义变量、配置参数、UDF和小函数,以及提供JobHistory的底层存储
+    MYSQL_HOST=
+    MYSQL_PORT=
+    MYSQL_DB=
+    MYSQL_USER=
+    MYSQL_PASSWORD=
+ ```
+ 
+## 三、安装和启动
+
+### 1. 执行安装脚本:
+
+```bash
+    sh bin/install.sh
+```
+
+### 2. 安装步骤
+
+- install.sh脚本会询问您是否需要初始化数据库并导入元数据。
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因为担心用户重复执行install.sh脚本,把数据库中的用户数据清空,所以在install.sh执行时,会询问用户是否需要初始化数据库并导入元数据。
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**第一次安装**必须选是。
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**请注意:如果您是升级已有环境的 Linkis0.X 到 Linkis1.0,请不要直接选是,请先参考 [Linkis1.0升级指南](https://github.com/WeBankFinTech/Linkis-Doc/blob/master/zh_CN/Upgrade_Documents/Linkis%E4%BB%8E0.X%E5%8D%87%E7%BA%A7%E5%88%B01.0%E6%8C%87%E5%8D%97.md)**。
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**请注意:如果您是升级已有环境的 Linkis0.X 到 Linkis1.0,请不要直接选是,请先参考 [Linkis1.0升级指南](https://github.com/WeBankFinTech/Linkis-Doc/blob/master/zh_CN/Upgrade_Documents/Linkis%E4%BB%8E0.X%E5%8D%87%E7%BA%A7%E5%88%B01.0%E6%8C%87%E5%8D%97.md)**。
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**请注意:如果您是升级已有环境的 Linkis0.X 到 Linkis1.0,请不要直接选是,请先参考 [Linkis1.0升级指南](https://github.com/WeBankFinTech/Linkis-Doc/blob/master/zh_CN/Upgrade_Documents/Linkis%E4%BB%8E0.X%E5%8D%87%E7%BA%A7%E5%88%B01.0%E6%8C%87%E5%8D%97.md)**。
+
+### 3. 是否安装成功:
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;通过查看控制台打印的日志信息查看是否安装成功。
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果有错误信息,可以查看具体报错原因。
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;您也可以通过查看我们的[常见问题](https://docs.qq.com/doc/DSGZhdnpMV3lTUUxq),获取问题的解答。
+
+### 4. 快速启动Linkis
+
+#### (1)、启动服务:
+  
+  在安装目录执行以下命令,启动所有服务:    
+
+```bash  
+  sh sbin/linkis-start-all.sh
+```
+        
+#### (2)、查看是否启动成功
+    
+  可以在Eureka界面查看服务启动成功情况,查看方法:
+    
+  使用http://${EUREKA_INSTALL_IP}:${EUREKA_PORT}, 在浏览器中打开,查看服务是否注册成功。
+    
+  如果您没有在config.sh指定EUREKA_INSTALL_IP和EUREKA_INSTALL_IP,则HTTP地址为:http://127.0.0.1:20303
+    
+  如下图,如您的Eureka主页出现以下微服务,则表示服务都启动成功,可以正常对外提供服务了:
+
+  默认会启动8个Linkis微服务,其中图下linkis-cg-engineconn服务为运行任务才会启动
+   
+![Linkis1.0_Eureka](../Images/deployment/Linkis1.0_combined_eureka.png)
+
+#### (3)、查看服务是否正常
+1. 服务启动成功后您可以通过,安装前端管理台,来检验服务的正常性,[点击跳转管理台安装文档](https://github.com/WeBankFinTech/Linkis-Doc/blob/master/zh_CN/Deployment_Documents/%E5%89%8D%E7%AB%AF%E7%AE%A1%E7%90%86%E5%8F%B0%E5%AE%89%E8%A3%85%E6%96%87%E6%A1%A3.md)
+2. 您也可以通过Linkis用户手册来测试Linis是否能正常运行任务,[点击跳转用户手册](https://github.com/WeBankFinTech/Linkis-Doc/blob/master/zh_CN/User_Manual/README.md)
diff --git a/src/main.js b/src/main.js
index 1772dd3..7b7b5c3 100644
--- a/src/main.js
+++ b/src/main.js
@@ -3,6 +3,7 @@ import { createRouter, createWebHashHistory } from 'vue-router'
 import routes from './router';
 import App from './App.vue';
 import i18n from './i18n';
+import 'github-markdown-css';
 
 const router = createRouter({
   history: createWebHashHistory(),
diff --git a/src/pages/docs.vue b/src/pages/docs.vue
index b33becc..c720d2d 100644
--- a/src/pages/docs.vue
+++ b/src/pages/docs.vue
@@ -1,3 +1,57 @@
 <template>
-  <div>docs</div>
+  <div class="ctn-block reading-area">
+    <main class="main-content">
+      <deploy></deploy>
+    </main>
+    <div class="side-bar">
+      <a :href="'#/blog' + doc.anchor" class="bar-item" v-for="(doc,index) in docs" :key="index">{{doc.title}}
+        <a :href="'#/blog' + children.anchor" class="bar-item" v-for="(children,cindex) in doc.children" :key="cindex">{{children.title}}
+        </a>
+      </a>
+    </div>
+  </div>
 </template>
+<style lang="less" scoped>
+  .reading-area {
+    display: flex;
+    padding: 60px 0;
+
+    .main-content {
+      width: 900px;
+      padding: 30px;
+      min-height: 600px;
+    }
+
+    .side-bar {
+      flex: 1;
+      padding: 18px 0;
+      border-left: 1px solid #eaecef;
+
+      .bar-item {
+        display: block;
+        padding: 5px 18px;
+        color: #4A4A4A;
+      }
+    }
+  }
+</style>
+<script setup>
+import deploy from '../docs/deploy.md';
+  const docs = [{
+    title: '部署文档',
+    anchor: 'deploy',
+    children: [{
+      title: '快速部署 Linkis1.0',
+      anchor: 'deploy-linkis'
+    }, {
+      title: '快速安装 EngineConnPlugin 引擎插件',
+      anchor: 'deploy-engine'
+    }, {
+      title: 'Linkis1.0 分布式部署手册',
+      anchor: 'deploy-handbook'
+    }, {
+      title: 'Linkis1.0 安装包目录层级结构详解',
+      anchor: 'deploy-detail'
+    }]
+  }]
+</script>
\ No newline at end of file
diff --git a/vite.config.js b/vite.config.js
index 315212d..44b54d0 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -1,7 +1,16 @@
 import { defineConfig } from 'vite'
 import vue from '@vitejs/plugin-vue'
+import Markdown from 'vite-plugin-md'
 
 // https://vitejs.dev/config/
 export default defineConfig({
-  plugins: [vue()]
+  plugins: [
+    vue({include: [/\.vue$/, /\.md$/]}),
+    Markdown({
+      markdownItOptions: {
+        html: true,
+        linkify: true
+      }
+    })
+  ]
 })

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org