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

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


The following commit(s) were added to refs/heads/dev by this push:
     new e10308d04c 在mac上调试linkis文档 (#434)
e10308d04c is described below

commit e10308d04c0091cadf1dc1a77932134f3f1a52b9
Author: weixiao <[email protected]>
AuthorDate: Mon Jul 18 19:21:32 2022 +0800

    在mac上调试linkis文档 (#434)
---
 docs/development/linkis_debug_in_mac.md            | 472 +++++++++++++++++++++
 .../current/development/linkis_debug_in_mac.md     | 472 +++++++++++++++++++++
 .../development/linkis_debug_in_mac.md             | 472 +++++++++++++++++++++
 .../development/linkis_debug_in_mac.md             | 472 +++++++++++++++++++++
 .../development/linkis_debug_in_mac.md             | 472 +++++++++++++++++++++
 .../Images/development/debug/cg-entrance-APP.png   | Bin 0 -> 190361 bytes
 .../development/debug/cg-linkismanager-APP.png     | Bin 0 -> 198686 bytes
 .../development/debug/engineconnmanager-app.png    | Bin 0 -> 186466 bytes
 .../Images/development/debug/engineplugin-app.png  | Bin 0 -> 193473 bytes
 .../development/debug/engineplugin-debug-error.png | Bin 0 -> 260420 bytes
 static/Images/development/debug/eureka-web.png     | Bin 0 -> 80896 bytes
 static/Images/development/debug/eureka.png         | Bin 0 -> 330602 bytes
 static/Images/development/debug/gateway.png        | Bin 0 -> 191871 bytes
 static/Images/development/debug/linkis-home.png    | Bin 0 -> 61594 bytes
 static/Images/development/debug/log4j.png          | Bin 0 -> 389438 bytes
 static/Images/development/debug/login.png          | Bin 0 -> 50893 bytes
 static/Images/development/debug/ps-cs-App.png      | Bin 0 -> 214055 bytes
 .../debug/publicservice-debug-error.png            | Bin 0 -> 122176 bytes
 static/Images/development/debug/publicservice.png  | Bin 0 -> 215771 bytes
 static/Images/development/debug/step-1.png         | Bin 0 -> 89084 bytes
 static/Images/development/debug/step-2.png         | Bin 0 -> 190684 bytes
 static/Images/development/debug/step-3.png         | Bin 0 -> 470365 bytes
 static/Images/development/debug/step-4.png         | Bin 0 -> 368708 bytes
 .../development/linkis_debug_in_mac.md             | 472 +++++++++++++++++++++
 .../development/linkis_debug_in_mac.md             | 472 +++++++++++++++++++++
 .../development/linkis_debug_in_mac.md             | 472 +++++++++++++++++++++
 26 files changed, 3776 insertions(+)

diff --git a/docs/development/linkis_debug_in_mac.md 
b/docs/development/linkis_debug_in_mac.md
new file mode 100644
index 0000000000..8d15770b6d
--- /dev/null
+++ b/docs/development/linkis_debug_in_mac.md
@@ -0,0 +1,472 @@
+---
+title: Linkis Debug In Mac
+sidebar_position: 2
+---
+
+> Introduction: This article records in detail how to configure and start 
various microservices of Linkis in IDEA, and implement the submission and 
execution of scripts such as JDBC, Python, and Shell.
+
+## 1. Code debugging environment
+
+- Mac OS m1 chip, Linkis' `linkis-cg-engineplugin` and 
`linkis-cg-engineconnmanager` services do not currently support debugging on 
Windows. You can refer to the development documentation on the official website 
for remote debugging.
+- Zulu openjdk 1.8
+- maven3.6.3
+- Linkis 1.1.x, this article theoretically supports local development and 
debugging of Linkis 1.0.3 and above
+
+## 2. Prepare the code and compile
+
+```shell
+git clone [email protected]:apache/incubator-linkis.git
+cd incubator-linkis
+git checkout dev-1.2.0
+````
+
+Clone the source code of Linkis to the local, and open it with IDEA. When you 
open the project for the first time, the dependency jar package required for 
the compilation of the Linkis project will be downloaded from the maven 
repository. When the dependent jar package is loaded, run the following compile 
and package command.
+
+```shell
+mvn -N install
+mvn clean Install
+````
+
+After the compilation command runs successfully, the compiled installation 
package can be found in the directory incubator-linkis/linkis-dist/target/: 
apache-linkis-version-incubating-bin.tar.gz
+
+## 3. Configure and start the service
+
+### 3.1 add mysql-connector-java to the classpath
+
+If the mysql driver class cannot be found during the service startup, you can 
add mysql-connector-java-version.jar to the classpath of the corresponding 
service module. For details, please refer to Section 3.5.
+
+The services currently relying on mysql are:
+
+- linkis-mg-gateway
+- linkis-ps-publicservice
+- linkis-cg-linkismanage
+
+### 3.2 Adjust log4j2.xml configuration
+
+Under the Linkis source code folder, in the subdirectory 
linkis-dist/package/conf, are some default configuration files of Linkis. 
First, edit the log4j2.xml file, and add the configuration of log output to the 
console.
+
+![log4j2.xml](/Images/development/debug/log4j.png)
+
+Only the configuration content that needs to be added is posted here.
+
+```xml
+<configuration status="error" monitorInterval="30">
+    <appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
+            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] 
%logger{36} %L %M - %msg%xEx%n"/>
+        </Console>
+    </appenders>
+    <loggers>
+        <root level="INFO">
+            <appender-ref ref="Console"/>
+        </root>
+    </loggers>
+</configuration>
+```
+
+### 3.3 Start the eureka service
+
+Both Linkis and DSS services depend on Eureka, so we need to start the Eureka 
service first. The Eureka service can be started locally or remotely. After 
ensuring that each service can access Eureka's IP and port, you can start to 
start other microservices.
+
+Inside Linkis, the application name and configuration file are set through the 
-DserviceName parameter, so -DserviceName is a VM startup parameter that must 
be specified.
+
+You can use the "-Xbootclasspath/a: configuration file path" command to append 
the configuration file to the end of the bootstrap class path, that is, add the 
dependent configuration file to the classpath.
+
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+
+![eureka](/Images/development/debug/eureka.png)
+
+Parameter explanation:
+
+```shell
+[service name]
+linkis-mg-eureka
+
+[Use classpath of module]
+linkis-eureka
+
+[Main Class]
+org.apache.linkis.eureka.SpringCloudEurekaApplication
+
+[VM Opitons]
+-DserviceName=linkis-mg-eureka 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[Program arguments]
+--spring.profiles.active=eureka --eureka.instance.preferIpAddress=true
+```
+
+If you don't want the default 20303 port, you can modify the port 
configuration:
+
+```shell
+File path: conf/application-eureka.yml
+Modify the port:
+server:
+   port: 8080 ##Starting port
+````
+
+After the above settings are completed, run the Application directly. After 
successful startup, you can view the eureka service list through 
http://localhost:20303/.
+
+![eureka-web](/Images/development/debug/eureka-web.png)
+
+### 3.4 Start linkis-mg-gateway
+
+linkis-mg-gateway is the service gateway of Linkis, and all requests will be 
forwarded to the corresponding service through the gateway.
+
+Before starting the server, you first need to edit the 
conf/linkis-mg-gateway.properties configuration file and add the administrator 
username and password. The username must be the same as the mac username you 
are currently logged in to.
+
+```properties
+wds.linkis.admin.user=leojie
+wds.linkis.admin.password=123456
+```
+
+Set the startup Application of linkis-mg-gateway
+
+![gateway-app](/Images/development/debug/gateway.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-mg-gateway
+
+[Use classpath of module]
+linkis-gateway-server-support
+
+[VM Opitons]
+-DserviceName=linkis-mg-gateway 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.gateway.springcloud.LinkisGatewayApplication
+```
+
+After the above settings are completed, the Application can be run directly.
+
+### 3.5 Start linkis-ps-publicservice
+
+publicservice is a public enhancement service of Linkis, a module that 
provides functions such as unified configuration management, context service, 
material library, data source management, microservice management and 
historical task query for other microservice modules.
+
+Set the startup Application of linkis-ps-publicservice
+
+![publicservice-app](/Images/development/debug/publicservice.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-ps-publicservice
+
+[Module Name]
+linkis-public-enhancements
+
+[VM Opitons]
+-DserviceName=linkis-ps-publicservice 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.filesystem.LinkisPublicServiceApp
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+When starting publicservice directly, you may encounter the following errors:
+
+![publicservice-debug-error](/Images/development/debug/publicservice-debug-error.png)
+
+The public-module module needs to be added to the classpath of the 
linkis-public-enhancements module. The detailed steps are as follows:
+
+![step-1](/Images/development/debug/step-1.png)
+
+![step-2](/Images/development/debug/step-2.png)
+
+![step-3](/Images/development/debug/step-3.png)
+
+![step-4](/Images/development/debug/step-4.png)
+
+After completing the above configuration, restart the Application of 
publicservice
+
+### 3.6 Start linkis-ps-cs
+
+Before starting the ps-cs service, you need to ensure that the publicservice 
service starts successfully.
+
+![ps-cs-App](/Images/development/debug/ps-cs-App.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-ps-cs
+
+[Use classpath of module]
+linkis-cs-server
+
+[VM Opitons]
+-DserviceName=linkis-ps-cs 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.cs.server.LinkisCSApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+### 3.7 Start linkis-cg-linkismanager
+
+![cg-linkismanager-APP](/Images/development/debug/cg-linkismanager-APP.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-linkismanager
+
+[Use classpath of module]
+linkis-application-manager
+
+[VM Opitons]
+-DserviceName=linkis-cg-linkismanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.manager.am.LinkisManagerApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+### 3.8 Start linkis-cg-entrance
+
+![cg-entrance-APP](/Images/development/debug/cg-entrance-APP.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-entrance
+
+[Use classpath of module]
+linkis-entrance
+
+[VM Opitons]
+-DserviceName=linkis-cg-entrance 
-Xbootclasspath/a:D:\yourDir\incubator-linkis\assembly-combined-package\assembly-combined\conf
+
+[main Class]
+org.apache.linkis.entrance.LinkisEntranceApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+### 3.9 Start cg-engineconnmanager
+
+![engineconnmanager-app](/Images/development/debug/engineconnmanager-app.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-engineconnmanager
+
+[Use classpath of module]
+linkis-engineconn-manager-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineconnmanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 -DJAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/
+
+[main Class]
+org.apache.linkis.ecm.server.LinkisECMApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+-DJAVA_HOME is to specify the path where the java command used by ecm to start 
the engine is located
+
+### 3.10 Start linkis-cg-engineplugin
+
+![engineplugin-app](/Images/development/debug/engineplugin-app.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-engineplugin
+
+[Use classpath of module]
+linkis-engineconn-plugin-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineplugin 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.engineplugin.server.LinkisEngineConnPluginServer
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+When starting engineplugin, you may encounter the following error:
+
+![engineplugin-debug-error](/Images/development/debug/engineplugin-debug-error.png)
+
+The solution is to add the public-module module to the classpath of the 
linkis-engineconn-plugin-server module, refer to section 3.5
+
+### 3.11 Key Configuration Modifications
+
+The above operation only completes the configuration of the application 
startup of each Linkis microservice. In addition, in the configuration file 
loaded when the Linkis service starts, some key configurations also need to be 
modified in a targeted manner, otherwise the process of starting the service or 
script execution Some errors will be encountered. The key configuration 
modifications are summarized as follows:
+
+####  3.11.1 conf/linkis.properties
+
+```properties
+# linkis underlying database connection parameter configuration
+wds.linkis.server.mybatis.datasource.url=jdbc:mysql://yourip:3306/linkis?characterEncoding=UTF-8
+wds.linkis.server.mybatis.datasource.username=your username
+wds.linkis.server.mybatis.datasource.password=your password
+
+# Set the bml material storage path to not hdfs
+wds.linkis.bml.is.hdfs=false
+wds.linkis.bml.local.prefix=/Users/leojie/software/linkis/data/bml
+
+wds.linkis.home=/Users/leojie/software/linkis
+
+# Set the administrator username, your local username
+wds.linkis.governance.station.admin=leojie
+```
+
+Before configuring linkis underlying database connection parameters, please 
create linkis database and run linkis-dist/package/db/linkis_ddl.sql and 
linkis-dist/package/db/linkis_dml.sql to initialize all tables and data.
+
+The directory structure of wds.linkis.home=/Users/leojie/software/linkis is as 
follows, only the lib directory and the conf directory are placed in it. When 
the engine process starts, the conf and lib paths in wds.linkis.home will be 
added to the classpath. If wds.linkis.home is not specified, an exception that 
the directory cannot be found may be encountered.
+
+![linkis-home](/Images/development/debug/linkis-home.png)
+
+#### 3.11.2 conf/linkis-cg-entrance.properties
+
+```properties
+# The log directory of the entrance service execution task
+wds.linkis.entrance.config.log.path=file:///Users/leojie/software/linkis/data/entranceConfigLog
+
+# The result set is saved in the directory, the local user needs read and 
write permissions
+wds.linkis.resultSet.store.path=file:///Users/leojie/software/linkis/data/resultSetDir
+```
+
+#### 3.11.3 conf/linkis-cg-engineconnmanager.properties
+
+```properties
+wds.linkis.engineconn.root.dir=/Users/leojie/software/linkis/data/engineconnRootDir
+```
+
+If you do not modify it, you may encounter an exception that the path does not 
exist.
+
+#### 3.11.4 conf/linkis-cg-engineplugin.properties
+
+```properties
+wds.linkis.engineconn.home=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+
+wds.linkis.engineconn.plugin.loader.store.path=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+```
+
+The two configurations here are mainly to specify the root directory of the 
engine storage, and the main purpose of specifying it as target/out is that 
after the engine-related code or configuration changes, the engineplugin 
service can be restarted directly to take effect.
+
+### 3.12 Set sudo password-free for the current user
+
+When the engine is started, sudo needs to be used to execute the shell command 
to start the engine process. The current user on the mac generally needs to 
enter a password when using sudo. Therefore, it is necessary to set sudo 
password-free for the current user. The setting method is as follows:
+
+```shell
+sudo chmod u-w /etc/sudoers
+sudo visudo
+Replace #%admin ALL=(ALL) AL with %admin ALL=(ALL) NOPASSWD: ALL
+save file exit
+```
+
+### 3.13 Service Testing
+
+Make sure that the above services are all successfully started, and then test 
and submit the shell script job in postman.
+
+First visit the login interface to generate a cookie:
+
+![login](/Images/development/debug/login.png)
+
+Then submit the shell code for execution
+
+POST: http://127.0.0.1:9001/api/rest_j/v1/entrance/submit
+
+body parameter:
+
+```json
+{
+  "executionContent": {
+    "code": "echo 'hello'",
+    "runType": "shell"
+  },
+  "params": {
+    "variable": {
+      "testvar": "hello"
+    },
+    "configuration": {
+      "runtime": {},
+      "startup": {}
+    }
+  },
+  "source": {
+    "scriptPath": "file:///tmp/hadoop/test.sql"
+  },
+  "labels": {
+    "engineType": "shell-1",
+    "userCreator": "leojie-IDE"
+  }
+}
+```
+
+Results of the:
+
+```json
+{
+    "method": "/api/entrance/submit",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "taskID": 1,
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+Finally, check the running status of the task and get the running result set:
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress
+
+```json
+{
+    "method": 
"/api/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "progress": 1,
+        "progressInfo": [],
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+GET http://127.0.0.1:9001/api/rest_j/v1/jobhistory/1/get
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/filesystem/openFile?path=file:///Users/leojie/software/linkis/data/resultSetDir/leojie/linkis/2022-07-16/214859/IDE/1/1_0.dolphin
+
+```json
+{
+    "method": "/api/filesystem/openFile",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "metadata": "NULL",
+        "totalPage": 0,
+        "totalLine": 1,
+        "page": 1,
+        "type": "1",
+        "fileContent": [
+            [
+                "hello"
+            ]
+        ]
+    }
+}
+```
\ No newline at end of file
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/linkis_debug_in_mac.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/linkis_debug_in_mac.md
new file mode 100644
index 0000000000..3638467193
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/linkis_debug_in_mac.md
@@ -0,0 +1,472 @@
+---
+title: 在Mac上调试Linkis
+sidebar_position: 2
+---
+
+> 导语:本文详细记录了如何在IDEA中配置和启动Linkis的各个微服务,并实现JDBC、Python、Shell等脚本的提交和执行。
+
+## 1. 代码调试环境
+
+- Mac OS 
m1芯片,Linkis的`linkis-cg-engineplugin`和`linkis-cg-engineconnmanager`两个服务暂不支持在Windows上进行调试,可参考官网的开发文档进行远程调试。
+- Zulu openjdk 1.8
+- maven3.6.3
+- Linkis 1.1.x ,本篇文章理论上可支持对Linkis1.0.3和以上版本的本地开发调试
+
+## 2. 准备代码并编译
+
+```shell
+git clone [email protected]:apache/incubator-linkis.git
+cd incubator-linkis
+git checkout dev-1.2.0
+```
+
+克隆Linkis的源码到本地,并用IDEA打开,首次打开项目会从maven仓库中下载Linkis项目编译所需的依赖jar包。当依赖jar包加载完毕之后,运行如下编译打包命令。
+
+```shell
+mvn -N install
+mvn clean Install
+```
+
+编译命令运行成功之后,在目录incubator-linkis/linkis-dist/target/下可找到编译好的安装包:apache-linkis-版本号-incubating-bin.tar.gz
+
+## 3. 配置并启动服务
+
+### 3.1 add mysql-connector-java到classpath中
+
+服务启动过程中如果遇到mysql驱动类找不到的情况,可以把mysql-connector-java-版本号.jar添加到对应服务模块的classpath下,详细操作请参考3.5小节。
+
+目前依赖mysql的服务有:
+
+- linkis-mg-gateway
+- linkis-ps-publicservice
+- linkis-cg-linkismanage
+
+### 3.2 调整log4j2.xml配置
+
+在Linkis源码文件夹下,子目录linkis-dist/package/conf中,是Linkis的一些默认配置文件,首先对log4j2.xml文件进行编辑,在其中增加日志输出到控制台的配置。
+
+![log4j2.xml](/Images/development/debug/log4j.png)
+
+这里只贴出来需要新增的配置内容。
+
+```xml
+<configuration status="error" monitorInterval="30">
+    <appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
+            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] 
%logger{36} %L %M - %msg%xEx%n"/>
+        </Console>
+    </appenders>
+    <loggers>
+        <root level="INFO">
+            <appender-ref ref="Console"/>
+        </root>
+    </loggers>
+</configuration>
+```
+
+### 3.3 启动eureka服务
+
+Linkis和DSS的服务都依赖Eureka,所以我们需要首先启动Eureka服务,Eureka服务可以在本地启动,也可以使用远程启动的服务。保证各个服务都能访问到Eureka的IP和端口之后,就可以开始着手启动其他微服务了。
+
+在Linkis内部是通过-DserviceName参数设置应用名以及使用配置文件,所以-DserviceName是必须要指定的VM启动参数。
+
+可以通过 “-Xbootclasspath/a:配置文件路径”命令,将配置文件追加到引导程序类的路径末尾,即将依赖的配置文件加到classpath中。
+
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+
+![eureka](/Images/development/debug/eureka.png)
+
+参数解释:
+
+```shell
+[service name]
+linkis-mg-eureka
+
+[Use classpath of module]
+linkis-eureka
+
+[Main Class]
+org.apache.linkis.eureka.SpringCloudEurekaApplication
+
+[VM Opitons]
+-DserviceName=linkis-mg-eureka 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[Program arguments]
+--spring.profiles.active=eureka --eureka.instance.preferIpAddress=true
+```
+
+如果不想默认的20303端口可以修改端口配置:
+
+```shell
+文件路径:conf/application-eureka.yml
+修改端口:
+server:
+  port: 8080 ##启动的端口
+```
+
+上述设置完成之后,直接运行此Application,成功启动后可以通过http://localhost:20303/ 查看eureka服务列表。
+
+![eureka-web](/Images/development/debug/eureka-web.png)
+
+### 3.4 启动linkis-mg-gateway
+
+linkis-mg-gateway是Linkis的服务网关,所有的请求都会经由gateway来转发到对应的服务上。
+
+启动服务器前,首先需要编辑conf/linkis-mg-gateway.properties配置文件,增加管理员用户名和密码,用户名需要与你当前登录的mac用户名保持一致。
+
+```properties
+wds.linkis.admin.user=leojie
+wds.linkis.admin.password=123456
+```
+
+设置 linkis-mg-gateway的启动Application
+
+![gateway-app](/Images/development/debug/gateway.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-mg-gateway
+
+[Use classpath of module]
+linkis-gateway-server-support
+
+[VM Opitons]
+-DserviceName=linkis-mg-gateway 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.gateway.springcloud.LinkisGatewayApplication
+```
+
+上述设置完成之后,可直接运行此Application。
+
+### 3.5 启动linkis-ps-publicservice
+
+publicservice是Linkis的公共增强服务,为其他微服务模块提供统一配置管理、上下文服务、物料库、数据源管理、微服务管理和历史任务查询等功能的模块。
+
+设置linkis-ps-publicservice的启动Application
+
+![publicservice-app](/Images/development/debug/publicservice.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-ps-publicservice
+
+[Module Name]
+linkis-public-enhancements
+
+[VM Opitons]
+-DserviceName=linkis-ps-publicservice 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.filesystem.LinkisPublicServiceApp
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+直接启动publicservice时,可能会遇到如下报错:
+
+![publicservice-debug-error](/Images/development/debug/publicservice-debug-error.png)
+
+需要把public-module模块加到linkis-public-enhancements模块的classpath下,详细步骤如下:
+
+![step-1](/Images/development/debug/step-1.png)
+
+![step-2](/Images/development/debug/step-2.png)
+
+![step-3](/Images/development/debug/step-3.png)
+
+![step-4](/Images/development/debug/step-4.png)
+
+做完上述配置后重新启动publicservice的Application
+
+### 3.6 启动linkis-ps-cs
+
+启动ps-cs服务之前,需要保证publicservice服务成功启动。
+
+![ps-cs-App](/Images/development/debug/ps-cs-App.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-ps-cs
+
+[Use classpath of module]
+linkis-cs-server
+
+[VM Opitons]
+-DserviceName=linkis-ps-cs 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.cs.server.LinkisCSApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+### 3.7 启动linkis-cg-linkismanager
+
+![cg-linkismanager-APP](/Images/development/debug/cg-linkismanager-APP.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-linkismanager
+
+[Use classpath of module]
+linkis-application-manager
+
+[VM Opitons]
+-DserviceName=linkis-cg-linkismanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.manager.am.LinkisManagerApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+### 3.8 启动linkis-cg-entrance
+
+![cg-entrance-APP](/Images/development/debug/cg-entrance-APP.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-entrance
+
+[Use classpath of module]
+linkis-entrance
+
+[VM Opitons]
+-DserviceName=linkis-cg-entrance 
-Xbootclasspath/a:D:\yourDir\incubator-linkis\assembly-combined-package\assembly-combined\conf
+
+[main Class]
+org.apache.linkis.entrance.LinkisEntranceApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+### 3.9 启动cg-engineconnmanager
+
+![engineconnmanager-app](/Images/development/debug/engineconnmanager-app.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-engineconnmanager
+
+[Use classpath of module]
+linkis-engineconn-manager-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineconnmanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 -DJAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/
+
+[main Class]
+org.apache.linkis.ecm.server.LinkisECMApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+-DJAVA_HOME是为了指定ecm启动引擎时所使用的java命令所在的路径
+
+### 3.10 启动linkis-cg-engineplugin
+
+![engineplugin-app](/Images/development/debug/engineplugin-app.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-engineplugin
+
+[Use classpath of module]
+linkis-engineconn-plugin-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineplugin 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.engineplugin.server.LinkisEngineConnPluginServer
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+启动engineplugin的时候可能会遇到如下报错:
+
+![engineplugin-debug-error](/Images/development/debug/engineplugin-debug-error.png)
+
+解决办法是把public-module模块加到linkis-engineconn-plugin-server模块的classpath下,参考3.5小节
+
+### 3.11 关键配置修改
+
+以上操作只是完成了对Linkis各个微服务启动Application的配置,除此之外,Linkis服务启动时所加载的配置文件中,有些关键配置也需要做针对性地修改,否则启动服务或脚本执行的过程中会遇到一些报错。关键配置的修改归纳如下:
+
+####  3.11.1 conf/linkis.properties
+
+```properties
+# linkis底层数据库连接参数配置
+wds.linkis.server.mybatis.datasource.url=jdbc:mysql://yourip:3306/linkis?characterEncoding=UTF-8
+wds.linkis.server.mybatis.datasource.username=your username
+wds.linkis.server.mybatis.datasource.password=your password
+
+# 设置bml物料存储路径不为hdfs
+wds.linkis.bml.is.hdfs=false
+wds.linkis.bml.local.prefix=/Users/leojie/software/linkis/data/bml
+
+wds.linkis.home=/Users/leojie/software/linkis
+
+# 设置管理员用户名,你的本机用户名
+wds.linkis.governance.station.admin=leojie
+```
+
+在配置linkis底层数据库连接参数之前,请创建linkis数据库,并运行linkis-dist/package/db/linkis_ddl.sql和linkis-dist/package/db/linkis_dml.sql来初始化所有表和数据。
+
+其中wds.linkis.home=/Users/leojie/software/linkis的目录结构如下,里面只放置了lib目录和conf目录。引擎进程启动时会把wds.linkis.home中的conf和lib路径,加到classpath下,如果wds.linkis.home不指定,可能会遇到目录找不到的异常。
+
+![linkis-home](/Images/development/debug/linkis-home.png)
+
+#### 3.11.2 conf/linkis-cg-entrance.properties
+
+```properties
+# entrance服务执行任务的日志目录
+wds.linkis.entrance.config.log.path=file:///Users/leojie/software/linkis/data/entranceConfigLog
+
+# 结果集保存目录,本机用户需要读写权限
+wds.linkis.resultSet.store.path=file:///Users/leojie/software/linkis/data/resultSetDir
+```
+
+#### 3.11.3 conf/linkis-cg-engineconnmanager.properties
+
+```properties
+wds.linkis.engineconn.root.dir=/Users/leojie/software/linkis/data/engineconnRootDir
+```
+
+不修改可能会遇到路径不存在异常。
+
+#### 3.11.4 conf/linkis-cg-engineplugin.properties
+
+```properties
+wds.linkis.engineconn.home=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+
+wds.linkis.engineconn.plugin.loader.store.path=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+```
+
+这里两个配置主要为了指定引擎存储的根目录,指定为target/out的主要目的是,引擎相关代码或配置改动后可以直接重启engineplugin服务后生效。
+
+### 3.12 为当前用户设置sudo免密
+
+引擎拉起时需要使用sudo来执行启动引擎进程的shell命令,mac上当前用户使用sudo时一般都需要输入密码,因此,需要为当前用户设置sudo免密,设置方法如下:
+
+```shell
+sudo chmod u-w /etc/sudoers
+sudo visudo
+将#%admin ALL=(ALL) AL替换为 %admin ALL=(ALL) NOPASSWD: ALL
+保存文件退出
+```
+
+### 3.13 服务测试
+
+保证上述服务都是成功启动状态,然后在postman中测试提交运行shell脚本作业。
+
+首先访问登录接口来生成Cookie:
+
+![login](/Images/development/debug/login.png)
+
+然后提交执行shell代码
+
+POST: http://127.0.0.1:9001/api/rest_j/v1/entrance/submit
+
+body参数:
+
+```json
+{
+  "executionContent": {
+    "code": "echo 'hello'",
+    "runType": "shell"
+  },
+  "params": {
+    "variable": {
+      "testvar": "hello"
+    },
+    "configuration": {
+      "runtime": {},
+      "startup": {}
+    }
+  },
+  "source": {
+    "scriptPath": "file:///tmp/hadoop/test.sql"
+  },
+  "labels": {
+    "engineType": "shell-1",
+    "userCreator": "leojie-IDE"
+  }
+}
+```
+
+执行结果:
+
+```json
+{
+    "method": "/api/entrance/submit",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "taskID": 1,
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+最后检查任务运行状态和获取运行结果集:
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress
+
+```json
+{
+    "method": 
"/api/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "progress": 1,
+        "progressInfo": [],
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+GET http://127.0.0.1:9001/api/rest_j/v1/jobhistory/1/get
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/filesystem/openFile?path=file:///Users/leojie/software/linkis/data/resultSetDir/leojie/linkis/2022-07-16/214859/IDE/1/1_0.dolphin
+
+```json
+{
+    "method": "/api/filesystem/openFile",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "metadata": "NULL",
+        "totalPage": 0,
+        "totalLine": 1,
+        "page": 1,
+        "type": "1",
+        "fileContent": [
+            [
+                "hello"
+            ]
+        ]
+    }
+}
+```
\ No newline at end of file
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.0/development/linkis_debug_in_mac.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.0/development/linkis_debug_in_mac.md
new file mode 100644
index 0000000000..3638467193
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.0/development/linkis_debug_in_mac.md
@@ -0,0 +1,472 @@
+---
+title: 在Mac上调试Linkis
+sidebar_position: 2
+---
+
+> 导语:本文详细记录了如何在IDEA中配置和启动Linkis的各个微服务,并实现JDBC、Python、Shell等脚本的提交和执行。
+
+## 1. 代码调试环境
+
+- Mac OS 
m1芯片,Linkis的`linkis-cg-engineplugin`和`linkis-cg-engineconnmanager`两个服务暂不支持在Windows上进行调试,可参考官网的开发文档进行远程调试。
+- Zulu openjdk 1.8
+- maven3.6.3
+- Linkis 1.1.x ,本篇文章理论上可支持对Linkis1.0.3和以上版本的本地开发调试
+
+## 2. 准备代码并编译
+
+```shell
+git clone [email protected]:apache/incubator-linkis.git
+cd incubator-linkis
+git checkout dev-1.2.0
+```
+
+克隆Linkis的源码到本地,并用IDEA打开,首次打开项目会从maven仓库中下载Linkis项目编译所需的依赖jar包。当依赖jar包加载完毕之后,运行如下编译打包命令。
+
+```shell
+mvn -N install
+mvn clean Install
+```
+
+编译命令运行成功之后,在目录incubator-linkis/linkis-dist/target/下可找到编译好的安装包:apache-linkis-版本号-incubating-bin.tar.gz
+
+## 3. 配置并启动服务
+
+### 3.1 add mysql-connector-java到classpath中
+
+服务启动过程中如果遇到mysql驱动类找不到的情况,可以把mysql-connector-java-版本号.jar添加到对应服务模块的classpath下,详细操作请参考3.5小节。
+
+目前依赖mysql的服务有:
+
+- linkis-mg-gateway
+- linkis-ps-publicservice
+- linkis-cg-linkismanage
+
+### 3.2 调整log4j2.xml配置
+
+在Linkis源码文件夹下,子目录linkis-dist/package/conf中,是Linkis的一些默认配置文件,首先对log4j2.xml文件进行编辑,在其中增加日志输出到控制台的配置。
+
+![log4j2.xml](/Images/development/debug/log4j.png)
+
+这里只贴出来需要新增的配置内容。
+
+```xml
+<configuration status="error" monitorInterval="30">
+    <appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
+            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] 
%logger{36} %L %M - %msg%xEx%n"/>
+        </Console>
+    </appenders>
+    <loggers>
+        <root level="INFO">
+            <appender-ref ref="Console"/>
+        </root>
+    </loggers>
+</configuration>
+```
+
+### 3.3 启动eureka服务
+
+Linkis和DSS的服务都依赖Eureka,所以我们需要首先启动Eureka服务,Eureka服务可以在本地启动,也可以使用远程启动的服务。保证各个服务都能访问到Eureka的IP和端口之后,就可以开始着手启动其他微服务了。
+
+在Linkis内部是通过-DserviceName参数设置应用名以及使用配置文件,所以-DserviceName是必须要指定的VM启动参数。
+
+可以通过 “-Xbootclasspath/a:配置文件路径”命令,将配置文件追加到引导程序类的路径末尾,即将依赖的配置文件加到classpath中。
+
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+
+![eureka](/Images/development/debug/eureka.png)
+
+参数解释:
+
+```shell
+[service name]
+linkis-mg-eureka
+
+[Use classpath of module]
+linkis-eureka
+
+[Main Class]
+org.apache.linkis.eureka.SpringCloudEurekaApplication
+
+[VM Opitons]
+-DserviceName=linkis-mg-eureka 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[Program arguments]
+--spring.profiles.active=eureka --eureka.instance.preferIpAddress=true
+```
+
+如果不想默认的20303端口可以修改端口配置:
+
+```shell
+文件路径:conf/application-eureka.yml
+修改端口:
+server:
+  port: 8080 ##启动的端口
+```
+
+上述设置完成之后,直接运行此Application,成功启动后可以通过http://localhost:20303/ 查看eureka服务列表。
+
+![eureka-web](/Images/development/debug/eureka-web.png)
+
+### 3.4 启动linkis-mg-gateway
+
+linkis-mg-gateway是Linkis的服务网关,所有的请求都会经由gateway来转发到对应的服务上。
+
+启动服务器前,首先需要编辑conf/linkis-mg-gateway.properties配置文件,增加管理员用户名和密码,用户名需要与你当前登录的mac用户名保持一致。
+
+```properties
+wds.linkis.admin.user=leojie
+wds.linkis.admin.password=123456
+```
+
+设置 linkis-mg-gateway的启动Application
+
+![gateway-app](/Images/development/debug/gateway.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-mg-gateway
+
+[Use classpath of module]
+linkis-gateway-server-support
+
+[VM Opitons]
+-DserviceName=linkis-mg-gateway 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.gateway.springcloud.LinkisGatewayApplication
+```
+
+上述设置完成之后,可直接运行此Application。
+
+### 3.5 启动linkis-ps-publicservice
+
+publicservice是Linkis的公共增强服务,为其他微服务模块提供统一配置管理、上下文服务、物料库、数据源管理、微服务管理和历史任务查询等功能的模块。
+
+设置linkis-ps-publicservice的启动Application
+
+![publicservice-app](/Images/development/debug/publicservice.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-ps-publicservice
+
+[Module Name]
+linkis-public-enhancements
+
+[VM Opitons]
+-DserviceName=linkis-ps-publicservice 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.filesystem.LinkisPublicServiceApp
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+直接启动publicservice时,可能会遇到如下报错:
+
+![publicservice-debug-error](/Images/development/debug/publicservice-debug-error.png)
+
+需要把public-module模块加到linkis-public-enhancements模块的classpath下,详细步骤如下:
+
+![step-1](/Images/development/debug/step-1.png)
+
+![step-2](/Images/development/debug/step-2.png)
+
+![step-3](/Images/development/debug/step-3.png)
+
+![step-4](/Images/development/debug/step-4.png)
+
+做完上述配置后重新启动publicservice的Application
+
+### 3.6 启动linkis-ps-cs
+
+启动ps-cs服务之前,需要保证publicservice服务成功启动。
+
+![ps-cs-App](/Images/development/debug/ps-cs-App.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-ps-cs
+
+[Use classpath of module]
+linkis-cs-server
+
+[VM Opitons]
+-DserviceName=linkis-ps-cs 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.cs.server.LinkisCSApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+### 3.7 启动linkis-cg-linkismanager
+
+![cg-linkismanager-APP](/Images/development/debug/cg-linkismanager-APP.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-linkismanager
+
+[Use classpath of module]
+linkis-application-manager
+
+[VM Opitons]
+-DserviceName=linkis-cg-linkismanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.manager.am.LinkisManagerApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+### 3.8 启动linkis-cg-entrance
+
+![cg-entrance-APP](/Images/development/debug/cg-entrance-APP.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-entrance
+
+[Use classpath of module]
+linkis-entrance
+
+[VM Opitons]
+-DserviceName=linkis-cg-entrance 
-Xbootclasspath/a:D:\yourDir\incubator-linkis\assembly-combined-package\assembly-combined\conf
+
+[main Class]
+org.apache.linkis.entrance.LinkisEntranceApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+### 3.9 启动cg-engineconnmanager
+
+![engineconnmanager-app](/Images/development/debug/engineconnmanager-app.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-engineconnmanager
+
+[Use classpath of module]
+linkis-engineconn-manager-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineconnmanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 -DJAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/
+
+[main Class]
+org.apache.linkis.ecm.server.LinkisECMApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+-DJAVA_HOME是为了指定ecm启动引擎时所使用的java命令所在的路径
+
+### 3.10 启动linkis-cg-engineplugin
+
+![engineplugin-app](/Images/development/debug/engineplugin-app.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-engineplugin
+
+[Use classpath of module]
+linkis-engineconn-plugin-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineplugin 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.engineplugin.server.LinkisEngineConnPluginServer
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+启动engineplugin的时候可能会遇到如下报错:
+
+![engineplugin-debug-error](/Images/development/debug/engineplugin-debug-error.png)
+
+解决办法是把public-module模块加到linkis-engineconn-plugin-server模块的classpath下,参考3.5小节
+
+### 3.11 关键配置修改
+
+以上操作只是完成了对Linkis各个微服务启动Application的配置,除此之外,Linkis服务启动时所加载的配置文件中,有些关键配置也需要做针对性地修改,否则启动服务或脚本执行的过程中会遇到一些报错。关键配置的修改归纳如下:
+
+####  3.11.1 conf/linkis.properties
+
+```properties
+# linkis底层数据库连接参数配置
+wds.linkis.server.mybatis.datasource.url=jdbc:mysql://yourip:3306/linkis?characterEncoding=UTF-8
+wds.linkis.server.mybatis.datasource.username=your username
+wds.linkis.server.mybatis.datasource.password=your password
+
+# 设置bml物料存储路径不为hdfs
+wds.linkis.bml.is.hdfs=false
+wds.linkis.bml.local.prefix=/Users/leojie/software/linkis/data/bml
+
+wds.linkis.home=/Users/leojie/software/linkis
+
+# 设置管理员用户名,你的本机用户名
+wds.linkis.governance.station.admin=leojie
+```
+
+在配置linkis底层数据库连接参数之前,请创建linkis数据库,并运行linkis-dist/package/db/linkis_ddl.sql和linkis-dist/package/db/linkis_dml.sql来初始化所有表和数据。
+
+其中wds.linkis.home=/Users/leojie/software/linkis的目录结构如下,里面只放置了lib目录和conf目录。引擎进程启动时会把wds.linkis.home中的conf和lib路径,加到classpath下,如果wds.linkis.home不指定,可能会遇到目录找不到的异常。
+
+![linkis-home](/Images/development/debug/linkis-home.png)
+
+#### 3.11.2 conf/linkis-cg-entrance.properties
+
+```properties
+# entrance服务执行任务的日志目录
+wds.linkis.entrance.config.log.path=file:///Users/leojie/software/linkis/data/entranceConfigLog
+
+# 结果集保存目录,本机用户需要读写权限
+wds.linkis.resultSet.store.path=file:///Users/leojie/software/linkis/data/resultSetDir
+```
+
+#### 3.11.3 conf/linkis-cg-engineconnmanager.properties
+
+```properties
+wds.linkis.engineconn.root.dir=/Users/leojie/software/linkis/data/engineconnRootDir
+```
+
+不修改可能会遇到路径不存在异常。
+
+#### 3.11.4 conf/linkis-cg-engineplugin.properties
+
+```properties
+wds.linkis.engineconn.home=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+
+wds.linkis.engineconn.plugin.loader.store.path=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+```
+
+这里两个配置主要为了指定引擎存储的根目录,指定为target/out的主要目的是,引擎相关代码或配置改动后可以直接重启engineplugin服务后生效。
+
+### 3.12 为当前用户设置sudo免密
+
+引擎拉起时需要使用sudo来执行启动引擎进程的shell命令,mac上当前用户使用sudo时一般都需要输入密码,因此,需要为当前用户设置sudo免密,设置方法如下:
+
+```shell
+sudo chmod u-w /etc/sudoers
+sudo visudo
+将#%admin ALL=(ALL) AL替换为 %admin ALL=(ALL) NOPASSWD: ALL
+保存文件退出
+```
+
+### 3.13 服务测试
+
+保证上述服务都是成功启动状态,然后在postman中测试提交运行shell脚本作业。
+
+首先访问登录接口来生成Cookie:
+
+![login](/Images/development/debug/login.png)
+
+然后提交执行shell代码
+
+POST: http://127.0.0.1:9001/api/rest_j/v1/entrance/submit
+
+body参数:
+
+```json
+{
+  "executionContent": {
+    "code": "echo 'hello'",
+    "runType": "shell"
+  },
+  "params": {
+    "variable": {
+      "testvar": "hello"
+    },
+    "configuration": {
+      "runtime": {},
+      "startup": {}
+    }
+  },
+  "source": {
+    "scriptPath": "file:///tmp/hadoop/test.sql"
+  },
+  "labels": {
+    "engineType": "shell-1",
+    "userCreator": "leojie-IDE"
+  }
+}
+```
+
+执行结果:
+
+```json
+{
+    "method": "/api/entrance/submit",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "taskID": 1,
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+最后检查任务运行状态和获取运行结果集:
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress
+
+```json
+{
+    "method": 
"/api/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "progress": 1,
+        "progressInfo": [],
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+GET http://127.0.0.1:9001/api/rest_j/v1/jobhistory/1/get
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/filesystem/openFile?path=file:///Users/leojie/software/linkis/data/resultSetDir/leojie/linkis/2022-07-16/214859/IDE/1/1_0.dolphin
+
+```json
+{
+    "method": "/api/filesystem/openFile",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "metadata": "NULL",
+        "totalPage": 0,
+        "totalLine": 1,
+        "page": 1,
+        "type": "1",
+        "fileContent": [
+            [
+                "hello"
+            ]
+        ]
+    }
+}
+```
\ No newline at end of file
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.1/development/linkis_debug_in_mac.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.1/development/linkis_debug_in_mac.md
new file mode 100644
index 0000000000..3638467193
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.1/development/linkis_debug_in_mac.md
@@ -0,0 +1,472 @@
+---
+title: 在Mac上调试Linkis
+sidebar_position: 2
+---
+
+> 导语:本文详细记录了如何在IDEA中配置和启动Linkis的各个微服务,并实现JDBC、Python、Shell等脚本的提交和执行。
+
+## 1. 代码调试环境
+
+- Mac OS 
m1芯片,Linkis的`linkis-cg-engineplugin`和`linkis-cg-engineconnmanager`两个服务暂不支持在Windows上进行调试,可参考官网的开发文档进行远程调试。
+- Zulu openjdk 1.8
+- maven3.6.3
+- Linkis 1.1.x ,本篇文章理论上可支持对Linkis1.0.3和以上版本的本地开发调试
+
+## 2. 准备代码并编译
+
+```shell
+git clone [email protected]:apache/incubator-linkis.git
+cd incubator-linkis
+git checkout dev-1.2.0
+```
+
+克隆Linkis的源码到本地,并用IDEA打开,首次打开项目会从maven仓库中下载Linkis项目编译所需的依赖jar包。当依赖jar包加载完毕之后,运行如下编译打包命令。
+
+```shell
+mvn -N install
+mvn clean Install
+```
+
+编译命令运行成功之后,在目录incubator-linkis/linkis-dist/target/下可找到编译好的安装包:apache-linkis-版本号-incubating-bin.tar.gz
+
+## 3. 配置并启动服务
+
+### 3.1 add mysql-connector-java到classpath中
+
+服务启动过程中如果遇到mysql驱动类找不到的情况,可以把mysql-connector-java-版本号.jar添加到对应服务模块的classpath下,详细操作请参考3.5小节。
+
+目前依赖mysql的服务有:
+
+- linkis-mg-gateway
+- linkis-ps-publicservice
+- linkis-cg-linkismanage
+
+### 3.2 调整log4j2.xml配置
+
+在Linkis源码文件夹下,子目录linkis-dist/package/conf中,是Linkis的一些默认配置文件,首先对log4j2.xml文件进行编辑,在其中增加日志输出到控制台的配置。
+
+![log4j2.xml](/Images/development/debug/log4j.png)
+
+这里只贴出来需要新增的配置内容。
+
+```xml
+<configuration status="error" monitorInterval="30">
+    <appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
+            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] 
%logger{36} %L %M - %msg%xEx%n"/>
+        </Console>
+    </appenders>
+    <loggers>
+        <root level="INFO">
+            <appender-ref ref="Console"/>
+        </root>
+    </loggers>
+</configuration>
+```
+
+### 3.3 启动eureka服务
+
+Linkis和DSS的服务都依赖Eureka,所以我们需要首先启动Eureka服务,Eureka服务可以在本地启动,也可以使用远程启动的服务。保证各个服务都能访问到Eureka的IP和端口之后,就可以开始着手启动其他微服务了。
+
+在Linkis内部是通过-DserviceName参数设置应用名以及使用配置文件,所以-DserviceName是必须要指定的VM启动参数。
+
+可以通过 “-Xbootclasspath/a:配置文件路径”命令,将配置文件追加到引导程序类的路径末尾,即将依赖的配置文件加到classpath中。
+
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+
+![eureka](/Images/development/debug/eureka.png)
+
+参数解释:
+
+```shell
+[service name]
+linkis-mg-eureka
+
+[Use classpath of module]
+linkis-eureka
+
+[Main Class]
+org.apache.linkis.eureka.SpringCloudEurekaApplication
+
+[VM Opitons]
+-DserviceName=linkis-mg-eureka 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[Program arguments]
+--spring.profiles.active=eureka --eureka.instance.preferIpAddress=true
+```
+
+如果不想默认的20303端口可以修改端口配置:
+
+```shell
+文件路径:conf/application-eureka.yml
+修改端口:
+server:
+  port: 8080 ##启动的端口
+```
+
+上述设置完成之后,直接运行此Application,成功启动后可以通过http://localhost:20303/ 查看eureka服务列表。
+
+![eureka-web](/Images/development/debug/eureka-web.png)
+
+### 3.4 启动linkis-mg-gateway
+
+linkis-mg-gateway是Linkis的服务网关,所有的请求都会经由gateway来转发到对应的服务上。
+
+启动服务器前,首先需要编辑conf/linkis-mg-gateway.properties配置文件,增加管理员用户名和密码,用户名需要与你当前登录的mac用户名保持一致。
+
+```properties
+wds.linkis.admin.user=leojie
+wds.linkis.admin.password=123456
+```
+
+设置 linkis-mg-gateway的启动Application
+
+![gateway-app](/Images/development/debug/gateway.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-mg-gateway
+
+[Use classpath of module]
+linkis-gateway-server-support
+
+[VM Opitons]
+-DserviceName=linkis-mg-gateway 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.gateway.springcloud.LinkisGatewayApplication
+```
+
+上述设置完成之后,可直接运行此Application。
+
+### 3.5 启动linkis-ps-publicservice
+
+publicservice是Linkis的公共增强服务,为其他微服务模块提供统一配置管理、上下文服务、物料库、数据源管理、微服务管理和历史任务查询等功能的模块。
+
+设置linkis-ps-publicservice的启动Application
+
+![publicservice-app](/Images/development/debug/publicservice.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-ps-publicservice
+
+[Module Name]
+linkis-public-enhancements
+
+[VM Opitons]
+-DserviceName=linkis-ps-publicservice 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.filesystem.LinkisPublicServiceApp
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+直接启动publicservice时,可能会遇到如下报错:
+
+![publicservice-debug-error](/Images/development/debug/publicservice-debug-error.png)
+
+需要把public-module模块加到linkis-public-enhancements模块的classpath下,详细步骤如下:
+
+![step-1](/Images/development/debug/step-1.png)
+
+![step-2](/Images/development/debug/step-2.png)
+
+![step-3](/Images/development/debug/step-3.png)
+
+![step-4](/Images/development/debug/step-4.png)
+
+做完上述配置后重新启动publicservice的Application
+
+### 3.6 启动linkis-ps-cs
+
+启动ps-cs服务之前,需要保证publicservice服务成功启动。
+
+![ps-cs-App](/Images/development/debug/ps-cs-App.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-ps-cs
+
+[Use classpath of module]
+linkis-cs-server
+
+[VM Opitons]
+-DserviceName=linkis-ps-cs 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.cs.server.LinkisCSApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+### 3.7 启动linkis-cg-linkismanager
+
+![cg-linkismanager-APP](/Images/development/debug/cg-linkismanager-APP.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-linkismanager
+
+[Use classpath of module]
+linkis-application-manager
+
+[VM Opitons]
+-DserviceName=linkis-cg-linkismanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.manager.am.LinkisManagerApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+### 3.8 启动linkis-cg-entrance
+
+![cg-entrance-APP](/Images/development/debug/cg-entrance-APP.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-entrance
+
+[Use classpath of module]
+linkis-entrance
+
+[VM Opitons]
+-DserviceName=linkis-cg-entrance 
-Xbootclasspath/a:D:\yourDir\incubator-linkis\assembly-combined-package\assembly-combined\conf
+
+[main Class]
+org.apache.linkis.entrance.LinkisEntranceApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+### 3.9 启动cg-engineconnmanager
+
+![engineconnmanager-app](/Images/development/debug/engineconnmanager-app.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-engineconnmanager
+
+[Use classpath of module]
+linkis-engineconn-manager-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineconnmanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 -DJAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/
+
+[main Class]
+org.apache.linkis.ecm.server.LinkisECMApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+-DJAVA_HOME是为了指定ecm启动引擎时所使用的java命令所在的路径
+
+### 3.10 启动linkis-cg-engineplugin
+
+![engineplugin-app](/Images/development/debug/engineplugin-app.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-engineplugin
+
+[Use classpath of module]
+linkis-engineconn-plugin-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineplugin 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.engineplugin.server.LinkisEngineConnPluginServer
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+启动engineplugin的时候可能会遇到如下报错:
+
+![engineplugin-debug-error](/Images/development/debug/engineplugin-debug-error.png)
+
+解决办法是把public-module模块加到linkis-engineconn-plugin-server模块的classpath下,参考3.5小节
+
+### 3.11 关键配置修改
+
+以上操作只是完成了对Linkis各个微服务启动Application的配置,除此之外,Linkis服务启动时所加载的配置文件中,有些关键配置也需要做针对性地修改,否则启动服务或脚本执行的过程中会遇到一些报错。关键配置的修改归纳如下:
+
+####  3.11.1 conf/linkis.properties
+
+```properties
+# linkis底层数据库连接参数配置
+wds.linkis.server.mybatis.datasource.url=jdbc:mysql://yourip:3306/linkis?characterEncoding=UTF-8
+wds.linkis.server.mybatis.datasource.username=your username
+wds.linkis.server.mybatis.datasource.password=your password
+
+# 设置bml物料存储路径不为hdfs
+wds.linkis.bml.is.hdfs=false
+wds.linkis.bml.local.prefix=/Users/leojie/software/linkis/data/bml
+
+wds.linkis.home=/Users/leojie/software/linkis
+
+# 设置管理员用户名,你的本机用户名
+wds.linkis.governance.station.admin=leojie
+```
+
+在配置linkis底层数据库连接参数之前,请创建linkis数据库,并运行linkis-dist/package/db/linkis_ddl.sql和linkis-dist/package/db/linkis_dml.sql来初始化所有表和数据。
+
+其中wds.linkis.home=/Users/leojie/software/linkis的目录结构如下,里面只放置了lib目录和conf目录。引擎进程启动时会把wds.linkis.home中的conf和lib路径,加到classpath下,如果wds.linkis.home不指定,可能会遇到目录找不到的异常。
+
+![linkis-home](/Images/development/debug/linkis-home.png)
+
+#### 3.11.2 conf/linkis-cg-entrance.properties
+
+```properties
+# entrance服务执行任务的日志目录
+wds.linkis.entrance.config.log.path=file:///Users/leojie/software/linkis/data/entranceConfigLog
+
+# 结果集保存目录,本机用户需要读写权限
+wds.linkis.resultSet.store.path=file:///Users/leojie/software/linkis/data/resultSetDir
+```
+
+#### 3.11.3 conf/linkis-cg-engineconnmanager.properties
+
+```properties
+wds.linkis.engineconn.root.dir=/Users/leojie/software/linkis/data/engineconnRootDir
+```
+
+不修改可能会遇到路径不存在异常。
+
+#### 3.11.4 conf/linkis-cg-engineplugin.properties
+
+```properties
+wds.linkis.engineconn.home=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+
+wds.linkis.engineconn.plugin.loader.store.path=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+```
+
+这里两个配置主要为了指定引擎存储的根目录,指定为target/out的主要目的是,引擎相关代码或配置改动后可以直接重启engineplugin服务后生效。
+
+### 3.12 为当前用户设置sudo免密
+
+引擎拉起时需要使用sudo来执行启动引擎进程的shell命令,mac上当前用户使用sudo时一般都需要输入密码,因此,需要为当前用户设置sudo免密,设置方法如下:
+
+```shell
+sudo chmod u-w /etc/sudoers
+sudo visudo
+将#%admin ALL=(ALL) AL替换为 %admin ALL=(ALL) NOPASSWD: ALL
+保存文件退出
+```
+
+### 3.13 服务测试
+
+保证上述服务都是成功启动状态,然后在postman中测试提交运行shell脚本作业。
+
+首先访问登录接口来生成Cookie:
+
+![login](/Images/development/debug/login.png)
+
+然后提交执行shell代码
+
+POST: http://127.0.0.1:9001/api/rest_j/v1/entrance/submit
+
+body参数:
+
+```json
+{
+  "executionContent": {
+    "code": "echo 'hello'",
+    "runType": "shell"
+  },
+  "params": {
+    "variable": {
+      "testvar": "hello"
+    },
+    "configuration": {
+      "runtime": {},
+      "startup": {}
+    }
+  },
+  "source": {
+    "scriptPath": "file:///tmp/hadoop/test.sql"
+  },
+  "labels": {
+    "engineType": "shell-1",
+    "userCreator": "leojie-IDE"
+  }
+}
+```
+
+执行结果:
+
+```json
+{
+    "method": "/api/entrance/submit",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "taskID": 1,
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+最后检查任务运行状态和获取运行结果集:
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress
+
+```json
+{
+    "method": 
"/api/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "progress": 1,
+        "progressInfo": [],
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+GET http://127.0.0.1:9001/api/rest_j/v1/jobhistory/1/get
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/filesystem/openFile?path=file:///Users/leojie/software/linkis/data/resultSetDir/leojie/linkis/2022-07-16/214859/IDE/1/1_0.dolphin
+
+```json
+{
+    "method": "/api/filesystem/openFile",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "metadata": "NULL",
+        "totalPage": 0,
+        "totalLine": 1,
+        "page": 1,
+        "type": "1",
+        "fileContent": [
+            [
+                "hello"
+            ]
+        ]
+    }
+}
+```
\ No newline at end of file
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.2/development/linkis_debug_in_mac.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.2/development/linkis_debug_in_mac.md
new file mode 100644
index 0000000000..3638467193
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.2/development/linkis_debug_in_mac.md
@@ -0,0 +1,472 @@
+---
+title: 在Mac上调试Linkis
+sidebar_position: 2
+---
+
+> 导语:本文详细记录了如何在IDEA中配置和启动Linkis的各个微服务,并实现JDBC、Python、Shell等脚本的提交和执行。
+
+## 1. 代码调试环境
+
+- Mac OS 
m1芯片,Linkis的`linkis-cg-engineplugin`和`linkis-cg-engineconnmanager`两个服务暂不支持在Windows上进行调试,可参考官网的开发文档进行远程调试。
+- Zulu openjdk 1.8
+- maven3.6.3
+- Linkis 1.1.x ,本篇文章理论上可支持对Linkis1.0.3和以上版本的本地开发调试
+
+## 2. 准备代码并编译
+
+```shell
+git clone [email protected]:apache/incubator-linkis.git
+cd incubator-linkis
+git checkout dev-1.2.0
+```
+
+克隆Linkis的源码到本地,并用IDEA打开,首次打开项目会从maven仓库中下载Linkis项目编译所需的依赖jar包。当依赖jar包加载完毕之后,运行如下编译打包命令。
+
+```shell
+mvn -N install
+mvn clean Install
+```
+
+编译命令运行成功之后,在目录incubator-linkis/linkis-dist/target/下可找到编译好的安装包:apache-linkis-版本号-incubating-bin.tar.gz
+
+## 3. 配置并启动服务
+
+### 3.1 add mysql-connector-java到classpath中
+
+服务启动过程中如果遇到mysql驱动类找不到的情况,可以把mysql-connector-java-版本号.jar添加到对应服务模块的classpath下,详细操作请参考3.5小节。
+
+目前依赖mysql的服务有:
+
+- linkis-mg-gateway
+- linkis-ps-publicservice
+- linkis-cg-linkismanage
+
+### 3.2 调整log4j2.xml配置
+
+在Linkis源码文件夹下,子目录linkis-dist/package/conf中,是Linkis的一些默认配置文件,首先对log4j2.xml文件进行编辑,在其中增加日志输出到控制台的配置。
+
+![log4j2.xml](/Images/development/debug/log4j.png)
+
+这里只贴出来需要新增的配置内容。
+
+```xml
+<configuration status="error" monitorInterval="30">
+    <appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
+            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] 
%logger{36} %L %M - %msg%xEx%n"/>
+        </Console>
+    </appenders>
+    <loggers>
+        <root level="INFO">
+            <appender-ref ref="Console"/>
+        </root>
+    </loggers>
+</configuration>
+```
+
+### 3.3 启动eureka服务
+
+Linkis和DSS的服务都依赖Eureka,所以我们需要首先启动Eureka服务,Eureka服务可以在本地启动,也可以使用远程启动的服务。保证各个服务都能访问到Eureka的IP和端口之后,就可以开始着手启动其他微服务了。
+
+在Linkis内部是通过-DserviceName参数设置应用名以及使用配置文件,所以-DserviceName是必须要指定的VM启动参数。
+
+可以通过 “-Xbootclasspath/a:配置文件路径”命令,将配置文件追加到引导程序类的路径末尾,即将依赖的配置文件加到classpath中。
+
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+
+![eureka](/Images/development/debug/eureka.png)
+
+参数解释:
+
+```shell
+[service name]
+linkis-mg-eureka
+
+[Use classpath of module]
+linkis-eureka
+
+[Main Class]
+org.apache.linkis.eureka.SpringCloudEurekaApplication
+
+[VM Opitons]
+-DserviceName=linkis-mg-eureka 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[Program arguments]
+--spring.profiles.active=eureka --eureka.instance.preferIpAddress=true
+```
+
+如果不想默认的20303端口可以修改端口配置:
+
+```shell
+文件路径:conf/application-eureka.yml
+修改端口:
+server:
+  port: 8080 ##启动的端口
+```
+
+上述设置完成之后,直接运行此Application,成功启动后可以通过http://localhost:20303/ 查看eureka服务列表。
+
+![eureka-web](/Images/development/debug/eureka-web.png)
+
+### 3.4 启动linkis-mg-gateway
+
+linkis-mg-gateway是Linkis的服务网关,所有的请求都会经由gateway来转发到对应的服务上。
+
+启动服务器前,首先需要编辑conf/linkis-mg-gateway.properties配置文件,增加管理员用户名和密码,用户名需要与你当前登录的mac用户名保持一致。
+
+```properties
+wds.linkis.admin.user=leojie
+wds.linkis.admin.password=123456
+```
+
+设置 linkis-mg-gateway的启动Application
+
+![gateway-app](/Images/development/debug/gateway.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-mg-gateway
+
+[Use classpath of module]
+linkis-gateway-server-support
+
+[VM Opitons]
+-DserviceName=linkis-mg-gateway 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.gateway.springcloud.LinkisGatewayApplication
+```
+
+上述设置完成之后,可直接运行此Application。
+
+### 3.5 启动linkis-ps-publicservice
+
+publicservice是Linkis的公共增强服务,为其他微服务模块提供统一配置管理、上下文服务、物料库、数据源管理、微服务管理和历史任务查询等功能的模块。
+
+设置linkis-ps-publicservice的启动Application
+
+![publicservice-app](/Images/development/debug/publicservice.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-ps-publicservice
+
+[Module Name]
+linkis-public-enhancements
+
+[VM Opitons]
+-DserviceName=linkis-ps-publicservice 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.filesystem.LinkisPublicServiceApp
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+直接启动publicservice时,可能会遇到如下报错:
+
+![publicservice-debug-error](/Images/development/debug/publicservice-debug-error.png)
+
+需要把public-module模块加到linkis-public-enhancements模块的classpath下,详细步骤如下:
+
+![step-1](/Images/development/debug/step-1.png)
+
+![step-2](/Images/development/debug/step-2.png)
+
+![step-3](/Images/development/debug/step-3.png)
+
+![step-4](/Images/development/debug/step-4.png)
+
+做完上述配置后重新启动publicservice的Application
+
+### 3.6 启动linkis-ps-cs
+
+启动ps-cs服务之前,需要保证publicservice服务成功启动。
+
+![ps-cs-App](/Images/development/debug/ps-cs-App.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-ps-cs
+
+[Use classpath of module]
+linkis-cs-server
+
+[VM Opitons]
+-DserviceName=linkis-ps-cs 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.cs.server.LinkisCSApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+### 3.7 启动linkis-cg-linkismanager
+
+![cg-linkismanager-APP](/Images/development/debug/cg-linkismanager-APP.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-linkismanager
+
+[Use classpath of module]
+linkis-application-manager
+
+[VM Opitons]
+-DserviceName=linkis-cg-linkismanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.manager.am.LinkisManagerApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+### 3.8 启动linkis-cg-entrance
+
+![cg-entrance-APP](/Images/development/debug/cg-entrance-APP.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-entrance
+
+[Use classpath of module]
+linkis-entrance
+
+[VM Opitons]
+-DserviceName=linkis-cg-entrance 
-Xbootclasspath/a:D:\yourDir\incubator-linkis\assembly-combined-package\assembly-combined\conf
+
+[main Class]
+org.apache.linkis.entrance.LinkisEntranceApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+### 3.9 启动cg-engineconnmanager
+
+![engineconnmanager-app](/Images/development/debug/engineconnmanager-app.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-engineconnmanager
+
+[Use classpath of module]
+linkis-engineconn-manager-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineconnmanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 -DJAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/
+
+[main Class]
+org.apache.linkis.ecm.server.LinkisECMApplication
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+-DJAVA_HOME是为了指定ecm启动引擎时所使用的java命令所在的路径
+
+### 3.10 启动linkis-cg-engineplugin
+
+![engineplugin-app](/Images/development/debug/engineplugin-app.png)
+
+参数解释:
+
+```shell
+[Service Name]
+linkis-cg-engineplugin
+
+[Use classpath of module]
+linkis-engineconn-plugin-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineplugin 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.engineplugin.server.LinkisEngineConnPluginServer
+
+[Add provided scope to classpath]
+通过勾选Include dependencies with “Provided” scope ,可以在调试时,引入provided级别的依赖包。
+```
+
+启动engineplugin的时候可能会遇到如下报错:
+
+![engineplugin-debug-error](/Images/development/debug/engineplugin-debug-error.png)
+
+解决办法是把public-module模块加到linkis-engineconn-plugin-server模块的classpath下,参考3.5小节
+
+### 3.11 关键配置修改
+
+以上操作只是完成了对Linkis各个微服务启动Application的配置,除此之外,Linkis服务启动时所加载的配置文件中,有些关键配置也需要做针对性地修改,否则启动服务或脚本执行的过程中会遇到一些报错。关键配置的修改归纳如下:
+
+####  3.11.1 conf/linkis.properties
+
+```properties
+# linkis底层数据库连接参数配置
+wds.linkis.server.mybatis.datasource.url=jdbc:mysql://yourip:3306/linkis?characterEncoding=UTF-8
+wds.linkis.server.mybatis.datasource.username=your username
+wds.linkis.server.mybatis.datasource.password=your password
+
+# 设置bml物料存储路径不为hdfs
+wds.linkis.bml.is.hdfs=false
+wds.linkis.bml.local.prefix=/Users/leojie/software/linkis/data/bml
+
+wds.linkis.home=/Users/leojie/software/linkis
+
+# 设置管理员用户名,你的本机用户名
+wds.linkis.governance.station.admin=leojie
+```
+
+在配置linkis底层数据库连接参数之前,请创建linkis数据库,并运行linkis-dist/package/db/linkis_ddl.sql和linkis-dist/package/db/linkis_dml.sql来初始化所有表和数据。
+
+其中wds.linkis.home=/Users/leojie/software/linkis的目录结构如下,里面只放置了lib目录和conf目录。引擎进程启动时会把wds.linkis.home中的conf和lib路径,加到classpath下,如果wds.linkis.home不指定,可能会遇到目录找不到的异常。
+
+![linkis-home](/Images/development/debug/linkis-home.png)
+
+#### 3.11.2 conf/linkis-cg-entrance.properties
+
+```properties
+# entrance服务执行任务的日志目录
+wds.linkis.entrance.config.log.path=file:///Users/leojie/software/linkis/data/entranceConfigLog
+
+# 结果集保存目录,本机用户需要读写权限
+wds.linkis.resultSet.store.path=file:///Users/leojie/software/linkis/data/resultSetDir
+```
+
+#### 3.11.3 conf/linkis-cg-engineconnmanager.properties
+
+```properties
+wds.linkis.engineconn.root.dir=/Users/leojie/software/linkis/data/engineconnRootDir
+```
+
+不修改可能会遇到路径不存在异常。
+
+#### 3.11.4 conf/linkis-cg-engineplugin.properties
+
+```properties
+wds.linkis.engineconn.home=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+
+wds.linkis.engineconn.plugin.loader.store.path=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+```
+
+这里两个配置主要为了指定引擎存储的根目录,指定为target/out的主要目的是,引擎相关代码或配置改动后可以直接重启engineplugin服务后生效。
+
+### 3.12 为当前用户设置sudo免密
+
+引擎拉起时需要使用sudo来执行启动引擎进程的shell命令,mac上当前用户使用sudo时一般都需要输入密码,因此,需要为当前用户设置sudo免密,设置方法如下:
+
+```shell
+sudo chmod u-w /etc/sudoers
+sudo visudo
+将#%admin ALL=(ALL) AL替换为 %admin ALL=(ALL) NOPASSWD: ALL
+保存文件退出
+```
+
+### 3.13 服务测试
+
+保证上述服务都是成功启动状态,然后在postman中测试提交运行shell脚本作业。
+
+首先访问登录接口来生成Cookie:
+
+![login](/Images/development/debug/login.png)
+
+然后提交执行shell代码
+
+POST: http://127.0.0.1:9001/api/rest_j/v1/entrance/submit
+
+body参数:
+
+```json
+{
+  "executionContent": {
+    "code": "echo 'hello'",
+    "runType": "shell"
+  },
+  "params": {
+    "variable": {
+      "testvar": "hello"
+    },
+    "configuration": {
+      "runtime": {},
+      "startup": {}
+    }
+  },
+  "source": {
+    "scriptPath": "file:///tmp/hadoop/test.sql"
+  },
+  "labels": {
+    "engineType": "shell-1",
+    "userCreator": "leojie-IDE"
+  }
+}
+```
+
+执行结果:
+
+```json
+{
+    "method": "/api/entrance/submit",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "taskID": 1,
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+最后检查任务运行状态和获取运行结果集:
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress
+
+```json
+{
+    "method": 
"/api/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "progress": 1,
+        "progressInfo": [],
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+GET http://127.0.0.1:9001/api/rest_j/v1/jobhistory/1/get
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/filesystem/openFile?path=file:///Users/leojie/software/linkis/data/resultSetDir/leojie/linkis/2022-07-16/214859/IDE/1/1_0.dolphin
+
+```json
+{
+    "method": "/api/filesystem/openFile",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "metadata": "NULL",
+        "totalPage": 0,
+        "totalLine": 1,
+        "page": 1,
+        "type": "1",
+        "fileContent": [
+            [
+                "hello"
+            ]
+        ]
+    }
+}
+```
\ No newline at end of file
diff --git a/static/Images/development/debug/cg-entrance-APP.png 
b/static/Images/development/debug/cg-entrance-APP.png
new file mode 100644
index 0000000000..79f6bce360
Binary files /dev/null and 
b/static/Images/development/debug/cg-entrance-APP.png differ
diff --git a/static/Images/development/debug/cg-linkismanager-APP.png 
b/static/Images/development/debug/cg-linkismanager-APP.png
new file mode 100644
index 0000000000..0f46fbb293
Binary files /dev/null and 
b/static/Images/development/debug/cg-linkismanager-APP.png differ
diff --git a/static/Images/development/debug/engineconnmanager-app.png 
b/static/Images/development/debug/engineconnmanager-app.png
new file mode 100644
index 0000000000..d98a664cba
Binary files /dev/null and 
b/static/Images/development/debug/engineconnmanager-app.png differ
diff --git a/static/Images/development/debug/engineplugin-app.png 
b/static/Images/development/debug/engineplugin-app.png
new file mode 100644
index 0000000000..ae67d185c1
Binary files /dev/null and 
b/static/Images/development/debug/engineplugin-app.png differ
diff --git a/static/Images/development/debug/engineplugin-debug-error.png 
b/static/Images/development/debug/engineplugin-debug-error.png
new file mode 100644
index 0000000000..91412f2e79
Binary files /dev/null and 
b/static/Images/development/debug/engineplugin-debug-error.png differ
diff --git a/static/Images/development/debug/eureka-web.png 
b/static/Images/development/debug/eureka-web.png
new file mode 100644
index 0000000000..63efc2c855
Binary files /dev/null and b/static/Images/development/debug/eureka-web.png 
differ
diff --git a/static/Images/development/debug/eureka.png 
b/static/Images/development/debug/eureka.png
new file mode 100644
index 0000000000..87094e5217
Binary files /dev/null and b/static/Images/development/debug/eureka.png differ
diff --git a/static/Images/development/debug/gateway.png 
b/static/Images/development/debug/gateway.png
new file mode 100644
index 0000000000..94f6c7c443
Binary files /dev/null and b/static/Images/development/debug/gateway.png differ
diff --git a/static/Images/development/debug/linkis-home.png 
b/static/Images/development/debug/linkis-home.png
new file mode 100644
index 0000000000..7163514369
Binary files /dev/null and b/static/Images/development/debug/linkis-home.png 
differ
diff --git a/static/Images/development/debug/log4j.png 
b/static/Images/development/debug/log4j.png
new file mode 100644
index 0000000000..c9eaa4c4a1
Binary files /dev/null and b/static/Images/development/debug/log4j.png differ
diff --git a/static/Images/development/debug/login.png 
b/static/Images/development/debug/login.png
new file mode 100644
index 0000000000..c915b62b1a
Binary files /dev/null and b/static/Images/development/debug/login.png differ
diff --git a/static/Images/development/debug/ps-cs-App.png 
b/static/Images/development/debug/ps-cs-App.png
new file mode 100644
index 0000000000..0e815aafb5
Binary files /dev/null and b/static/Images/development/debug/ps-cs-App.png 
differ
diff --git a/static/Images/development/debug/publicservice-debug-error.png 
b/static/Images/development/debug/publicservice-debug-error.png
new file mode 100644
index 0000000000..659ee1cf20
Binary files /dev/null and 
b/static/Images/development/debug/publicservice-debug-error.png differ
diff --git a/static/Images/development/debug/publicservice.png 
b/static/Images/development/debug/publicservice.png
new file mode 100644
index 0000000000..8cffa6adee
Binary files /dev/null and b/static/Images/development/debug/publicservice.png 
differ
diff --git a/static/Images/development/debug/step-1.png 
b/static/Images/development/debug/step-1.png
new file mode 100644
index 0000000000..419da0aed8
Binary files /dev/null and b/static/Images/development/debug/step-1.png differ
diff --git a/static/Images/development/debug/step-2.png 
b/static/Images/development/debug/step-2.png
new file mode 100644
index 0000000000..69307418d7
Binary files /dev/null and b/static/Images/development/debug/step-2.png differ
diff --git a/static/Images/development/debug/step-3.png 
b/static/Images/development/debug/step-3.png
new file mode 100644
index 0000000000..2ca6320d21
Binary files /dev/null and b/static/Images/development/debug/step-3.png differ
diff --git a/static/Images/development/debug/step-4.png 
b/static/Images/development/debug/step-4.png
new file mode 100644
index 0000000000..f631356d42
Binary files /dev/null and b/static/Images/development/debug/step-4.png differ
diff --git a/versioned_docs/version-1.1.0/development/linkis_debug_in_mac.md 
b/versioned_docs/version-1.1.0/development/linkis_debug_in_mac.md
new file mode 100644
index 0000000000..8d15770b6d
--- /dev/null
+++ b/versioned_docs/version-1.1.0/development/linkis_debug_in_mac.md
@@ -0,0 +1,472 @@
+---
+title: Linkis Debug In Mac
+sidebar_position: 2
+---
+
+> Introduction: This article records in detail how to configure and start 
various microservices of Linkis in IDEA, and implement the submission and 
execution of scripts such as JDBC, Python, and Shell.
+
+## 1. Code debugging environment
+
+- Mac OS m1 chip, Linkis' `linkis-cg-engineplugin` and 
`linkis-cg-engineconnmanager` services do not currently support debugging on 
Windows. You can refer to the development documentation on the official website 
for remote debugging.
+- Zulu openjdk 1.8
+- maven3.6.3
+- Linkis 1.1.x, this article theoretically supports local development and 
debugging of Linkis 1.0.3 and above
+
+## 2. Prepare the code and compile
+
+```shell
+git clone [email protected]:apache/incubator-linkis.git
+cd incubator-linkis
+git checkout dev-1.2.0
+````
+
+Clone the source code of Linkis to the local, and open it with IDEA. When you 
open the project for the first time, the dependency jar package required for 
the compilation of the Linkis project will be downloaded from the maven 
repository. When the dependent jar package is loaded, run the following compile 
and package command.
+
+```shell
+mvn -N install
+mvn clean Install
+````
+
+After the compilation command runs successfully, the compiled installation 
package can be found in the directory incubator-linkis/linkis-dist/target/: 
apache-linkis-version-incubating-bin.tar.gz
+
+## 3. Configure and start the service
+
+### 3.1 add mysql-connector-java to the classpath
+
+If the mysql driver class cannot be found during the service startup, you can 
add mysql-connector-java-version.jar to the classpath of the corresponding 
service module. For details, please refer to Section 3.5.
+
+The services currently relying on mysql are:
+
+- linkis-mg-gateway
+- linkis-ps-publicservice
+- linkis-cg-linkismanage
+
+### 3.2 Adjust log4j2.xml configuration
+
+Under the Linkis source code folder, in the subdirectory 
linkis-dist/package/conf, are some default configuration files of Linkis. 
First, edit the log4j2.xml file, and add the configuration of log output to the 
console.
+
+![log4j2.xml](/Images/development/debug/log4j.png)
+
+Only the configuration content that needs to be added is posted here.
+
+```xml
+<configuration status="error" monitorInterval="30">
+    <appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
+            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] 
%logger{36} %L %M - %msg%xEx%n"/>
+        </Console>
+    </appenders>
+    <loggers>
+        <root level="INFO">
+            <appender-ref ref="Console"/>
+        </root>
+    </loggers>
+</configuration>
+```
+
+### 3.3 Start the eureka service
+
+Both Linkis and DSS services depend on Eureka, so we need to start the Eureka 
service first. The Eureka service can be started locally or remotely. After 
ensuring that each service can access Eureka's IP and port, you can start to 
start other microservices.
+
+Inside Linkis, the application name and configuration file are set through the 
-DserviceName parameter, so -DserviceName is a VM startup parameter that must 
be specified.
+
+You can use the "-Xbootclasspath/a: configuration file path" command to append 
the configuration file to the end of the bootstrap class path, that is, add the 
dependent configuration file to the classpath.
+
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+
+![eureka](/Images/development/debug/eureka.png)
+
+Parameter explanation:
+
+```shell
+[service name]
+linkis-mg-eureka
+
+[Use classpath of module]
+linkis-eureka
+
+[Main Class]
+org.apache.linkis.eureka.SpringCloudEurekaApplication
+
+[VM Opitons]
+-DserviceName=linkis-mg-eureka 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[Program arguments]
+--spring.profiles.active=eureka --eureka.instance.preferIpAddress=true
+```
+
+If you don't want the default 20303 port, you can modify the port 
configuration:
+
+```shell
+File path: conf/application-eureka.yml
+Modify the port:
+server:
+   port: 8080 ##Starting port
+````
+
+After the above settings are completed, run the Application directly. After 
successful startup, you can view the eureka service list through 
http://localhost:20303/.
+
+![eureka-web](/Images/development/debug/eureka-web.png)
+
+### 3.4 Start linkis-mg-gateway
+
+linkis-mg-gateway is the service gateway of Linkis, and all requests will be 
forwarded to the corresponding service through the gateway.
+
+Before starting the server, you first need to edit the 
conf/linkis-mg-gateway.properties configuration file and add the administrator 
username and password. The username must be the same as the mac username you 
are currently logged in to.
+
+```properties
+wds.linkis.admin.user=leojie
+wds.linkis.admin.password=123456
+```
+
+Set the startup Application of linkis-mg-gateway
+
+![gateway-app](/Images/development/debug/gateway.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-mg-gateway
+
+[Use classpath of module]
+linkis-gateway-server-support
+
+[VM Opitons]
+-DserviceName=linkis-mg-gateway 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.gateway.springcloud.LinkisGatewayApplication
+```
+
+After the above settings are completed, the Application can be run directly.
+
+### 3.5 Start linkis-ps-publicservice
+
+publicservice is a public enhancement service of Linkis, a module that 
provides functions such as unified configuration management, context service, 
material library, data source management, microservice management and 
historical task query for other microservice modules.
+
+Set the startup Application of linkis-ps-publicservice
+
+![publicservice-app](/Images/development/debug/publicservice.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-ps-publicservice
+
+[Module Name]
+linkis-public-enhancements
+
+[VM Opitons]
+-DserviceName=linkis-ps-publicservice 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.filesystem.LinkisPublicServiceApp
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+When starting publicservice directly, you may encounter the following errors:
+
+![publicservice-debug-error](/Images/development/debug/publicservice-debug-error.png)
+
+The public-module module needs to be added to the classpath of the 
linkis-public-enhancements module. The detailed steps are as follows:
+
+![step-1](/Images/development/debug/step-1.png)
+
+![step-2](/Images/development/debug/step-2.png)
+
+![step-3](/Images/development/debug/step-3.png)
+
+![step-4](/Images/development/debug/step-4.png)
+
+After completing the above configuration, restart the Application of 
publicservice
+
+### 3.6 Start linkis-ps-cs
+
+Before starting the ps-cs service, you need to ensure that the publicservice 
service starts successfully.
+
+![ps-cs-App](/Images/development/debug/ps-cs-App.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-ps-cs
+
+[Use classpath of module]
+linkis-cs-server
+
+[VM Opitons]
+-DserviceName=linkis-ps-cs 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.cs.server.LinkisCSApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+### 3.7 Start linkis-cg-linkismanager
+
+![cg-linkismanager-APP](/Images/development/debug/cg-linkismanager-APP.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-linkismanager
+
+[Use classpath of module]
+linkis-application-manager
+
+[VM Opitons]
+-DserviceName=linkis-cg-linkismanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.manager.am.LinkisManagerApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+### 3.8 Start linkis-cg-entrance
+
+![cg-entrance-APP](/Images/development/debug/cg-entrance-APP.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-entrance
+
+[Use classpath of module]
+linkis-entrance
+
+[VM Opitons]
+-DserviceName=linkis-cg-entrance 
-Xbootclasspath/a:D:\yourDir\incubator-linkis\assembly-combined-package\assembly-combined\conf
+
+[main Class]
+org.apache.linkis.entrance.LinkisEntranceApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+### 3.9 Start cg-engineconnmanager
+
+![engineconnmanager-app](/Images/development/debug/engineconnmanager-app.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-engineconnmanager
+
+[Use classpath of module]
+linkis-engineconn-manager-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineconnmanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 -DJAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/
+
+[main Class]
+org.apache.linkis.ecm.server.LinkisECMApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+-DJAVA_HOME is to specify the path where the java command used by ecm to start 
the engine is located
+
+### 3.10 Start linkis-cg-engineplugin
+
+![engineplugin-app](/Images/development/debug/engineplugin-app.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-engineplugin
+
+[Use classpath of module]
+linkis-engineconn-plugin-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineplugin 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.engineplugin.server.LinkisEngineConnPluginServer
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+When starting engineplugin, you may encounter the following error:
+
+![engineplugin-debug-error](/Images/development/debug/engineplugin-debug-error.png)
+
+The solution is to add the public-module module to the classpath of the 
linkis-engineconn-plugin-server module, refer to section 3.5
+
+### 3.11 Key Configuration Modifications
+
+The above operation only completes the configuration of the application 
startup of each Linkis microservice. In addition, in the configuration file 
loaded when the Linkis service starts, some key configurations also need to be 
modified in a targeted manner, otherwise the process of starting the service or 
script execution Some errors will be encountered. The key configuration 
modifications are summarized as follows:
+
+####  3.11.1 conf/linkis.properties
+
+```properties
+# linkis underlying database connection parameter configuration
+wds.linkis.server.mybatis.datasource.url=jdbc:mysql://yourip:3306/linkis?characterEncoding=UTF-8
+wds.linkis.server.mybatis.datasource.username=your username
+wds.linkis.server.mybatis.datasource.password=your password
+
+# Set the bml material storage path to not hdfs
+wds.linkis.bml.is.hdfs=false
+wds.linkis.bml.local.prefix=/Users/leojie/software/linkis/data/bml
+
+wds.linkis.home=/Users/leojie/software/linkis
+
+# Set the administrator username, your local username
+wds.linkis.governance.station.admin=leojie
+```
+
+Before configuring linkis underlying database connection parameters, please 
create linkis database and run linkis-dist/package/db/linkis_ddl.sql and 
linkis-dist/package/db/linkis_dml.sql to initialize all tables and data.
+
+The directory structure of wds.linkis.home=/Users/leojie/software/linkis is as 
follows, only the lib directory and the conf directory are placed in it. When 
the engine process starts, the conf and lib paths in wds.linkis.home will be 
added to the classpath. If wds.linkis.home is not specified, an exception that 
the directory cannot be found may be encountered.
+
+![linkis-home](/Images/development/debug/linkis-home.png)
+
+#### 3.11.2 conf/linkis-cg-entrance.properties
+
+```properties
+# The log directory of the entrance service execution task
+wds.linkis.entrance.config.log.path=file:///Users/leojie/software/linkis/data/entranceConfigLog
+
+# The result set is saved in the directory, the local user needs read and 
write permissions
+wds.linkis.resultSet.store.path=file:///Users/leojie/software/linkis/data/resultSetDir
+```
+
+#### 3.11.3 conf/linkis-cg-engineconnmanager.properties
+
+```properties
+wds.linkis.engineconn.root.dir=/Users/leojie/software/linkis/data/engineconnRootDir
+```
+
+If you do not modify it, you may encounter an exception that the path does not 
exist.
+
+#### 3.11.4 conf/linkis-cg-engineplugin.properties
+
+```properties
+wds.linkis.engineconn.home=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+
+wds.linkis.engineconn.plugin.loader.store.path=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+```
+
+The two configurations here are mainly to specify the root directory of the 
engine storage, and the main purpose of specifying it as target/out is that 
after the engine-related code or configuration changes, the engineplugin 
service can be restarted directly to take effect.
+
+### 3.12 Set sudo password-free for the current user
+
+When the engine is started, sudo needs to be used to execute the shell command 
to start the engine process. The current user on the mac generally needs to 
enter a password when using sudo. Therefore, it is necessary to set sudo 
password-free for the current user. The setting method is as follows:
+
+```shell
+sudo chmod u-w /etc/sudoers
+sudo visudo
+Replace #%admin ALL=(ALL) AL with %admin ALL=(ALL) NOPASSWD: ALL
+save file exit
+```
+
+### 3.13 Service Testing
+
+Make sure that the above services are all successfully started, and then test 
and submit the shell script job in postman.
+
+First visit the login interface to generate a cookie:
+
+![login](/Images/development/debug/login.png)
+
+Then submit the shell code for execution
+
+POST: http://127.0.0.1:9001/api/rest_j/v1/entrance/submit
+
+body parameter:
+
+```json
+{
+  "executionContent": {
+    "code": "echo 'hello'",
+    "runType": "shell"
+  },
+  "params": {
+    "variable": {
+      "testvar": "hello"
+    },
+    "configuration": {
+      "runtime": {},
+      "startup": {}
+    }
+  },
+  "source": {
+    "scriptPath": "file:///tmp/hadoop/test.sql"
+  },
+  "labels": {
+    "engineType": "shell-1",
+    "userCreator": "leojie-IDE"
+  }
+}
+```
+
+Results of the:
+
+```json
+{
+    "method": "/api/entrance/submit",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "taskID": 1,
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+Finally, check the running status of the task and get the running result set:
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress
+
+```json
+{
+    "method": 
"/api/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "progress": 1,
+        "progressInfo": [],
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+GET http://127.0.0.1:9001/api/rest_j/v1/jobhistory/1/get
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/filesystem/openFile?path=file:///Users/leojie/software/linkis/data/resultSetDir/leojie/linkis/2022-07-16/214859/IDE/1/1_0.dolphin
+
+```json
+{
+    "method": "/api/filesystem/openFile",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "metadata": "NULL",
+        "totalPage": 0,
+        "totalLine": 1,
+        "page": 1,
+        "type": "1",
+        "fileContent": [
+            [
+                "hello"
+            ]
+        ]
+    }
+}
+```
\ No newline at end of file
diff --git a/versioned_docs/version-1.1.1/development/linkis_debug_in_mac.md 
b/versioned_docs/version-1.1.1/development/linkis_debug_in_mac.md
new file mode 100644
index 0000000000..8d15770b6d
--- /dev/null
+++ b/versioned_docs/version-1.1.1/development/linkis_debug_in_mac.md
@@ -0,0 +1,472 @@
+---
+title: Linkis Debug In Mac
+sidebar_position: 2
+---
+
+> Introduction: This article records in detail how to configure and start 
various microservices of Linkis in IDEA, and implement the submission and 
execution of scripts such as JDBC, Python, and Shell.
+
+## 1. Code debugging environment
+
+- Mac OS m1 chip, Linkis' `linkis-cg-engineplugin` and 
`linkis-cg-engineconnmanager` services do not currently support debugging on 
Windows. You can refer to the development documentation on the official website 
for remote debugging.
+- Zulu openjdk 1.8
+- maven3.6.3
+- Linkis 1.1.x, this article theoretically supports local development and 
debugging of Linkis 1.0.3 and above
+
+## 2. Prepare the code and compile
+
+```shell
+git clone [email protected]:apache/incubator-linkis.git
+cd incubator-linkis
+git checkout dev-1.2.0
+````
+
+Clone the source code of Linkis to the local, and open it with IDEA. When you 
open the project for the first time, the dependency jar package required for 
the compilation of the Linkis project will be downloaded from the maven 
repository. When the dependent jar package is loaded, run the following compile 
and package command.
+
+```shell
+mvn -N install
+mvn clean Install
+````
+
+After the compilation command runs successfully, the compiled installation 
package can be found in the directory incubator-linkis/linkis-dist/target/: 
apache-linkis-version-incubating-bin.tar.gz
+
+## 3. Configure and start the service
+
+### 3.1 add mysql-connector-java to the classpath
+
+If the mysql driver class cannot be found during the service startup, you can 
add mysql-connector-java-version.jar to the classpath of the corresponding 
service module. For details, please refer to Section 3.5.
+
+The services currently relying on mysql are:
+
+- linkis-mg-gateway
+- linkis-ps-publicservice
+- linkis-cg-linkismanage
+
+### 3.2 Adjust log4j2.xml configuration
+
+Under the Linkis source code folder, in the subdirectory 
linkis-dist/package/conf, are some default configuration files of Linkis. 
First, edit the log4j2.xml file, and add the configuration of log output to the 
console.
+
+![log4j2.xml](/Images/development/debug/log4j.png)
+
+Only the configuration content that needs to be added is posted here.
+
+```xml
+<configuration status="error" monitorInterval="30">
+    <appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
+            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] 
%logger{36} %L %M - %msg%xEx%n"/>
+        </Console>
+    </appenders>
+    <loggers>
+        <root level="INFO">
+            <appender-ref ref="Console"/>
+        </root>
+    </loggers>
+</configuration>
+```
+
+### 3.3 Start the eureka service
+
+Both Linkis and DSS services depend on Eureka, so we need to start the Eureka 
service first. The Eureka service can be started locally or remotely. After 
ensuring that each service can access Eureka's IP and port, you can start to 
start other microservices.
+
+Inside Linkis, the application name and configuration file are set through the 
-DserviceName parameter, so -DserviceName is a VM startup parameter that must 
be specified.
+
+You can use the "-Xbootclasspath/a: configuration file path" command to append 
the configuration file to the end of the bootstrap class path, that is, add the 
dependent configuration file to the classpath.
+
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+
+![eureka](/Images/development/debug/eureka.png)
+
+Parameter explanation:
+
+```shell
+[service name]
+linkis-mg-eureka
+
+[Use classpath of module]
+linkis-eureka
+
+[Main Class]
+org.apache.linkis.eureka.SpringCloudEurekaApplication
+
+[VM Opitons]
+-DserviceName=linkis-mg-eureka 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[Program arguments]
+--spring.profiles.active=eureka --eureka.instance.preferIpAddress=true
+```
+
+If you don't want the default 20303 port, you can modify the port 
configuration:
+
+```shell
+File path: conf/application-eureka.yml
+Modify the port:
+server:
+   port: 8080 ##Starting port
+````
+
+After the above settings are completed, run the Application directly. After 
successful startup, you can view the eureka service list through 
http://localhost:20303/.
+
+![eureka-web](/Images/development/debug/eureka-web.png)
+
+### 3.4 Start linkis-mg-gateway
+
+linkis-mg-gateway is the service gateway of Linkis, and all requests will be 
forwarded to the corresponding service through the gateway.
+
+Before starting the server, you first need to edit the 
conf/linkis-mg-gateway.properties configuration file and add the administrator 
username and password. The username must be the same as the mac username you 
are currently logged in to.
+
+```properties
+wds.linkis.admin.user=leojie
+wds.linkis.admin.password=123456
+```
+
+Set the startup Application of linkis-mg-gateway
+
+![gateway-app](/Images/development/debug/gateway.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-mg-gateway
+
+[Use classpath of module]
+linkis-gateway-server-support
+
+[VM Opitons]
+-DserviceName=linkis-mg-gateway 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.gateway.springcloud.LinkisGatewayApplication
+```
+
+After the above settings are completed, the Application can be run directly.
+
+### 3.5 Start linkis-ps-publicservice
+
+publicservice is a public enhancement service of Linkis, a module that 
provides functions such as unified configuration management, context service, 
material library, data source management, microservice management and 
historical task query for other microservice modules.
+
+Set the startup Application of linkis-ps-publicservice
+
+![publicservice-app](/Images/development/debug/publicservice.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-ps-publicservice
+
+[Module Name]
+linkis-public-enhancements
+
+[VM Opitons]
+-DserviceName=linkis-ps-publicservice 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.filesystem.LinkisPublicServiceApp
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+When starting publicservice directly, you may encounter the following errors:
+
+![publicservice-debug-error](/Images/development/debug/publicservice-debug-error.png)
+
+The public-module module needs to be added to the classpath of the 
linkis-public-enhancements module. The detailed steps are as follows:
+
+![step-1](/Images/development/debug/step-1.png)
+
+![step-2](/Images/development/debug/step-2.png)
+
+![step-3](/Images/development/debug/step-3.png)
+
+![step-4](/Images/development/debug/step-4.png)
+
+After completing the above configuration, restart the Application of 
publicservice
+
+### 3.6 Start linkis-ps-cs
+
+Before starting the ps-cs service, you need to ensure that the publicservice 
service starts successfully.
+
+![ps-cs-App](/Images/development/debug/ps-cs-App.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-ps-cs
+
+[Use classpath of module]
+linkis-cs-server
+
+[VM Opitons]
+-DserviceName=linkis-ps-cs 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.cs.server.LinkisCSApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+### 3.7 Start linkis-cg-linkismanager
+
+![cg-linkismanager-APP](/Images/development/debug/cg-linkismanager-APP.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-linkismanager
+
+[Use classpath of module]
+linkis-application-manager
+
+[VM Opitons]
+-DserviceName=linkis-cg-linkismanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.manager.am.LinkisManagerApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+### 3.8 Start linkis-cg-entrance
+
+![cg-entrance-APP](/Images/development/debug/cg-entrance-APP.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-entrance
+
+[Use classpath of module]
+linkis-entrance
+
+[VM Opitons]
+-DserviceName=linkis-cg-entrance 
-Xbootclasspath/a:D:\yourDir\incubator-linkis\assembly-combined-package\assembly-combined\conf
+
+[main Class]
+org.apache.linkis.entrance.LinkisEntranceApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+### 3.9 Start cg-engineconnmanager
+
+![engineconnmanager-app](/Images/development/debug/engineconnmanager-app.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-engineconnmanager
+
+[Use classpath of module]
+linkis-engineconn-manager-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineconnmanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 -DJAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/
+
+[main Class]
+org.apache.linkis.ecm.server.LinkisECMApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+-DJAVA_HOME is to specify the path where the java command used by ecm to start 
the engine is located
+
+### 3.10 Start linkis-cg-engineplugin
+
+![engineplugin-app](/Images/development/debug/engineplugin-app.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-engineplugin
+
+[Use classpath of module]
+linkis-engineconn-plugin-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineplugin 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.engineplugin.server.LinkisEngineConnPluginServer
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+When starting engineplugin, you may encounter the following error:
+
+![engineplugin-debug-error](/Images/development/debug/engineplugin-debug-error.png)
+
+The solution is to add the public-module module to the classpath of the 
linkis-engineconn-plugin-server module, refer to section 3.5
+
+### 3.11 Key Configuration Modifications
+
+The above operation only completes the configuration of the application 
startup of each Linkis microservice. In addition, in the configuration file 
loaded when the Linkis service starts, some key configurations also need to be 
modified in a targeted manner, otherwise the process of starting the service or 
script execution Some errors will be encountered. The key configuration 
modifications are summarized as follows:
+
+####  3.11.1 conf/linkis.properties
+
+```properties
+# linkis underlying database connection parameter configuration
+wds.linkis.server.mybatis.datasource.url=jdbc:mysql://yourip:3306/linkis?characterEncoding=UTF-8
+wds.linkis.server.mybatis.datasource.username=your username
+wds.linkis.server.mybatis.datasource.password=your password
+
+# Set the bml material storage path to not hdfs
+wds.linkis.bml.is.hdfs=false
+wds.linkis.bml.local.prefix=/Users/leojie/software/linkis/data/bml
+
+wds.linkis.home=/Users/leojie/software/linkis
+
+# Set the administrator username, your local username
+wds.linkis.governance.station.admin=leojie
+```
+
+Before configuring linkis underlying database connection parameters, please 
create linkis database and run linkis-dist/package/db/linkis_ddl.sql and 
linkis-dist/package/db/linkis_dml.sql to initialize all tables and data.
+
+The directory structure of wds.linkis.home=/Users/leojie/software/linkis is as 
follows, only the lib directory and the conf directory are placed in it. When 
the engine process starts, the conf and lib paths in wds.linkis.home will be 
added to the classpath. If wds.linkis.home is not specified, an exception that 
the directory cannot be found may be encountered.
+
+![linkis-home](/Images/development/debug/linkis-home.png)
+
+#### 3.11.2 conf/linkis-cg-entrance.properties
+
+```properties
+# The log directory of the entrance service execution task
+wds.linkis.entrance.config.log.path=file:///Users/leojie/software/linkis/data/entranceConfigLog
+
+# The result set is saved in the directory, the local user needs read and 
write permissions
+wds.linkis.resultSet.store.path=file:///Users/leojie/software/linkis/data/resultSetDir
+```
+
+#### 3.11.3 conf/linkis-cg-engineconnmanager.properties
+
+```properties
+wds.linkis.engineconn.root.dir=/Users/leojie/software/linkis/data/engineconnRootDir
+```
+
+If you do not modify it, you may encounter an exception that the path does not 
exist.
+
+#### 3.11.4 conf/linkis-cg-engineplugin.properties
+
+```properties
+wds.linkis.engineconn.home=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+
+wds.linkis.engineconn.plugin.loader.store.path=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+```
+
+The two configurations here are mainly to specify the root directory of the 
engine storage, and the main purpose of specifying it as target/out is that 
after the engine-related code or configuration changes, the engineplugin 
service can be restarted directly to take effect.
+
+### 3.12 Set sudo password-free for the current user
+
+When the engine is started, sudo needs to be used to execute the shell command 
to start the engine process. The current user on the mac generally needs to 
enter a password when using sudo. Therefore, it is necessary to set sudo 
password-free for the current user. The setting method is as follows:
+
+```shell
+sudo chmod u-w /etc/sudoers
+sudo visudo
+Replace #%admin ALL=(ALL) AL with %admin ALL=(ALL) NOPASSWD: ALL
+save file exit
+```
+
+### 3.13 Service Testing
+
+Make sure that the above services are all successfully started, and then test 
and submit the shell script job in postman.
+
+First visit the login interface to generate a cookie:
+
+![login](/Images/development/debug/login.png)
+
+Then submit the shell code for execution
+
+POST: http://127.0.0.1:9001/api/rest_j/v1/entrance/submit
+
+body parameter:
+
+```json
+{
+  "executionContent": {
+    "code": "echo 'hello'",
+    "runType": "shell"
+  },
+  "params": {
+    "variable": {
+      "testvar": "hello"
+    },
+    "configuration": {
+      "runtime": {},
+      "startup": {}
+    }
+  },
+  "source": {
+    "scriptPath": "file:///tmp/hadoop/test.sql"
+  },
+  "labels": {
+    "engineType": "shell-1",
+    "userCreator": "leojie-IDE"
+  }
+}
+```
+
+Results of the:
+
+```json
+{
+    "method": "/api/entrance/submit",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "taskID": 1,
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+Finally, check the running status of the task and get the running result set:
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress
+
+```json
+{
+    "method": 
"/api/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "progress": 1,
+        "progressInfo": [],
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+GET http://127.0.0.1:9001/api/rest_j/v1/jobhistory/1/get
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/filesystem/openFile?path=file:///Users/leojie/software/linkis/data/resultSetDir/leojie/linkis/2022-07-16/214859/IDE/1/1_0.dolphin
+
+```json
+{
+    "method": "/api/filesystem/openFile",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "metadata": "NULL",
+        "totalPage": 0,
+        "totalLine": 1,
+        "page": 1,
+        "type": "1",
+        "fileContent": [
+            [
+                "hello"
+            ]
+        ]
+    }
+}
+```
\ No newline at end of file
diff --git a/versioned_docs/version-1.1.2/development/linkis_debug_in_mac.md 
b/versioned_docs/version-1.1.2/development/linkis_debug_in_mac.md
new file mode 100644
index 0000000000..8d15770b6d
--- /dev/null
+++ b/versioned_docs/version-1.1.2/development/linkis_debug_in_mac.md
@@ -0,0 +1,472 @@
+---
+title: Linkis Debug In Mac
+sidebar_position: 2
+---
+
+> Introduction: This article records in detail how to configure and start 
various microservices of Linkis in IDEA, and implement the submission and 
execution of scripts such as JDBC, Python, and Shell.
+
+## 1. Code debugging environment
+
+- Mac OS m1 chip, Linkis' `linkis-cg-engineplugin` and 
`linkis-cg-engineconnmanager` services do not currently support debugging on 
Windows. You can refer to the development documentation on the official website 
for remote debugging.
+- Zulu openjdk 1.8
+- maven3.6.3
+- Linkis 1.1.x, this article theoretically supports local development and 
debugging of Linkis 1.0.3 and above
+
+## 2. Prepare the code and compile
+
+```shell
+git clone [email protected]:apache/incubator-linkis.git
+cd incubator-linkis
+git checkout dev-1.2.0
+````
+
+Clone the source code of Linkis to the local, and open it with IDEA. When you 
open the project for the first time, the dependency jar package required for 
the compilation of the Linkis project will be downloaded from the maven 
repository. When the dependent jar package is loaded, run the following compile 
and package command.
+
+```shell
+mvn -N install
+mvn clean Install
+````
+
+After the compilation command runs successfully, the compiled installation 
package can be found in the directory incubator-linkis/linkis-dist/target/: 
apache-linkis-version-incubating-bin.tar.gz
+
+## 3. Configure and start the service
+
+### 3.1 add mysql-connector-java to the classpath
+
+If the mysql driver class cannot be found during the service startup, you can 
add mysql-connector-java-version.jar to the classpath of the corresponding 
service module. For details, please refer to Section 3.5.
+
+The services currently relying on mysql are:
+
+- linkis-mg-gateway
+- linkis-ps-publicservice
+- linkis-cg-linkismanage
+
+### 3.2 Adjust log4j2.xml configuration
+
+Under the Linkis source code folder, in the subdirectory 
linkis-dist/package/conf, are some default configuration files of Linkis. 
First, edit the log4j2.xml file, and add the configuration of log output to the 
console.
+
+![log4j2.xml](/Images/development/debug/log4j.png)
+
+Only the configuration content that needs to be added is posted here.
+
+```xml
+<configuration status="error" monitorInterval="30">
+    <appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
+            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] 
%logger{36} %L %M - %msg%xEx%n"/>
+        </Console>
+    </appenders>
+    <loggers>
+        <root level="INFO">
+            <appender-ref ref="Console"/>
+        </root>
+    </loggers>
+</configuration>
+```
+
+### 3.3 Start the eureka service
+
+Both Linkis and DSS services depend on Eureka, so we need to start the Eureka 
service first. The Eureka service can be started locally or remotely. After 
ensuring that each service can access Eureka's IP and port, you can start to 
start other microservices.
+
+Inside Linkis, the application name and configuration file are set through the 
-DserviceName parameter, so -DserviceName is a VM startup parameter that must 
be specified.
+
+You can use the "-Xbootclasspath/a: configuration file path" command to append 
the configuration file to the end of the bootstrap class path, that is, add the 
dependent configuration file to the classpath.
+
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+
+![eureka](/Images/development/debug/eureka.png)
+
+Parameter explanation:
+
+```shell
+[service name]
+linkis-mg-eureka
+
+[Use classpath of module]
+linkis-eureka
+
+[Main Class]
+org.apache.linkis.eureka.SpringCloudEurekaApplication
+
+[VM Opitons]
+-DserviceName=linkis-mg-eureka 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[Program arguments]
+--spring.profiles.active=eureka --eureka.instance.preferIpAddress=true
+```
+
+If you don't want the default 20303 port, you can modify the port 
configuration:
+
+```shell
+File path: conf/application-eureka.yml
+Modify the port:
+server:
+   port: 8080 ##Starting port
+````
+
+After the above settings are completed, run the Application directly. After 
successful startup, you can view the eureka service list through 
http://localhost:20303/.
+
+![eureka-web](/Images/development/debug/eureka-web.png)
+
+### 3.4 Start linkis-mg-gateway
+
+linkis-mg-gateway is the service gateway of Linkis, and all requests will be 
forwarded to the corresponding service through the gateway.
+
+Before starting the server, you first need to edit the 
conf/linkis-mg-gateway.properties configuration file and add the administrator 
username and password. The username must be the same as the mac username you 
are currently logged in to.
+
+```properties
+wds.linkis.admin.user=leojie
+wds.linkis.admin.password=123456
+```
+
+Set the startup Application of linkis-mg-gateway
+
+![gateway-app](/Images/development/debug/gateway.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-mg-gateway
+
+[Use classpath of module]
+linkis-gateway-server-support
+
+[VM Opitons]
+-DserviceName=linkis-mg-gateway 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.gateway.springcloud.LinkisGatewayApplication
+```
+
+After the above settings are completed, the Application can be run directly.
+
+### 3.5 Start linkis-ps-publicservice
+
+publicservice is a public enhancement service of Linkis, a module that 
provides functions such as unified configuration management, context service, 
material library, data source management, microservice management and 
historical task query for other microservice modules.
+
+Set the startup Application of linkis-ps-publicservice
+
+![publicservice-app](/Images/development/debug/publicservice.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-ps-publicservice
+
+[Module Name]
+linkis-public-enhancements
+
+[VM Opitons]
+-DserviceName=linkis-ps-publicservice 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.filesystem.LinkisPublicServiceApp
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+When starting publicservice directly, you may encounter the following errors:
+
+![publicservice-debug-error](/Images/development/debug/publicservice-debug-error.png)
+
+The public-module module needs to be added to the classpath of the 
linkis-public-enhancements module. The detailed steps are as follows:
+
+![step-1](/Images/development/debug/step-1.png)
+
+![step-2](/Images/development/debug/step-2.png)
+
+![step-3](/Images/development/debug/step-3.png)
+
+![step-4](/Images/development/debug/step-4.png)
+
+After completing the above configuration, restart the Application of 
publicservice
+
+### 3.6 Start linkis-ps-cs
+
+Before starting the ps-cs service, you need to ensure that the publicservice 
service starts successfully.
+
+![ps-cs-App](/Images/development/debug/ps-cs-App.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-ps-cs
+
+[Use classpath of module]
+linkis-cs-server
+
+[VM Opitons]
+-DserviceName=linkis-ps-cs 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 
+
+[main Class]
+org.apache.linkis.cs.server.LinkisCSApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+### 3.7 Start linkis-cg-linkismanager
+
+![cg-linkismanager-APP](/Images/development/debug/cg-linkismanager-APP.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-linkismanager
+
+[Use classpath of module]
+linkis-application-manager
+
+[VM Opitons]
+-DserviceName=linkis-cg-linkismanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.manager.am.LinkisManagerApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+### 3.8 Start linkis-cg-entrance
+
+![cg-entrance-APP](/Images/development/debug/cg-entrance-APP.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-entrance
+
+[Use classpath of module]
+linkis-entrance
+
+[VM Opitons]
+-DserviceName=linkis-cg-entrance 
-Xbootclasspath/a:D:\yourDir\incubator-linkis\assembly-combined-package\assembly-combined\conf
+
+[main Class]
+org.apache.linkis.entrance.LinkisEntranceApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+### 3.9 Start cg-engineconnmanager
+
+![engineconnmanager-app](/Images/development/debug/engineconnmanager-app.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-engineconnmanager
+
+[Use classpath of module]
+linkis-engineconn-manager-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineconnmanager 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
 -DJAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/
+
+[main Class]
+org.apache.linkis.ecm.server.LinkisECMApplication
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+-DJAVA_HOME is to specify the path where the java command used by ecm to start 
the engine is located
+
+### 3.10 Start linkis-cg-engineplugin
+
+![engineplugin-app](/Images/development/debug/engineplugin-app.png)
+
+Parameter explanation:
+
+```shell
+[Service Name]
+linkis-cg-engineplugin
+
+[Use classpath of module]
+linkis-engineconn-plugin-server
+
+[VM Opitons]
+-DserviceName=linkis-cg-engineplugin 
-Xbootclasspath/a:/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-dist/package/conf
+
+[main Class]
+org.apache.linkis.engineplugin.server.LinkisEngineConnPluginServer
+
+[Add provided scope to classpath]
+By checking Include dependencies with "Provided" scope, you can introduce 
provided-level dependency packages during debugging.
+```
+
+When starting engineplugin, you may encounter the following error:
+
+![engineplugin-debug-error](/Images/development/debug/engineplugin-debug-error.png)
+
+The solution is to add the public-module module to the classpath of the 
linkis-engineconn-plugin-server module, refer to section 3.5
+
+### 3.11 Key Configuration Modifications
+
+The above operation only completes the configuration of the application 
startup of each Linkis microservice. In addition, in the configuration file 
loaded when the Linkis service starts, some key configurations also need to be 
modified in a targeted manner, otherwise the process of starting the service or 
script execution Some errors will be encountered. The key configuration 
modifications are summarized as follows:
+
+####  3.11.1 conf/linkis.properties
+
+```properties
+# linkis underlying database connection parameter configuration
+wds.linkis.server.mybatis.datasource.url=jdbc:mysql://yourip:3306/linkis?characterEncoding=UTF-8
+wds.linkis.server.mybatis.datasource.username=your username
+wds.linkis.server.mybatis.datasource.password=your password
+
+# Set the bml material storage path to not hdfs
+wds.linkis.bml.is.hdfs=false
+wds.linkis.bml.local.prefix=/Users/leojie/software/linkis/data/bml
+
+wds.linkis.home=/Users/leojie/software/linkis
+
+# Set the administrator username, your local username
+wds.linkis.governance.station.admin=leojie
+```
+
+Before configuring linkis underlying database connection parameters, please 
create linkis database and run linkis-dist/package/db/linkis_ddl.sql and 
linkis-dist/package/db/linkis_dml.sql to initialize all tables and data.
+
+The directory structure of wds.linkis.home=/Users/leojie/software/linkis is as 
follows, only the lib directory and the conf directory are placed in it. When 
the engine process starts, the conf and lib paths in wds.linkis.home will be 
added to the classpath. If wds.linkis.home is not specified, an exception that 
the directory cannot be found may be encountered.
+
+![linkis-home](/Images/development/debug/linkis-home.png)
+
+#### 3.11.2 conf/linkis-cg-entrance.properties
+
+```properties
+# The log directory of the entrance service execution task
+wds.linkis.entrance.config.log.path=file:///Users/leojie/software/linkis/data/entranceConfigLog
+
+# The result set is saved in the directory, the local user needs read and 
write permissions
+wds.linkis.resultSet.store.path=file:///Users/leojie/software/linkis/data/resultSetDir
+```
+
+#### 3.11.3 conf/linkis-cg-engineconnmanager.properties
+
+```properties
+wds.linkis.engineconn.root.dir=/Users/leojie/software/linkis/data/engineconnRootDir
+```
+
+If you do not modify it, you may encounter an exception that the path does not 
exist.
+
+#### 3.11.4 conf/linkis-cg-engineplugin.properties
+
+```properties
+wds.linkis.engineconn.home=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+
+wds.linkis.engineconn.plugin.loader.store.path=/Users/leojie/other_project/apache/linkis/incubator-linkis/linkis-engineconn-plugins/shell/target/out
+```
+
+The two configurations here are mainly to specify the root directory of the 
engine storage, and the main purpose of specifying it as target/out is that 
after the engine-related code or configuration changes, the engineplugin 
service can be restarted directly to take effect.
+
+### 3.12 Set sudo password-free for the current user
+
+When the engine is started, sudo needs to be used to execute the shell command 
to start the engine process. The current user on the mac generally needs to 
enter a password when using sudo. Therefore, it is necessary to set sudo 
password-free for the current user. The setting method is as follows:
+
+```shell
+sudo chmod u-w /etc/sudoers
+sudo visudo
+Replace #%admin ALL=(ALL) AL with %admin ALL=(ALL) NOPASSWD: ALL
+save file exit
+```
+
+### 3.13 Service Testing
+
+Make sure that the above services are all successfully started, and then test 
and submit the shell script job in postman.
+
+First visit the login interface to generate a cookie:
+
+![login](/Images/development/debug/login.png)
+
+Then submit the shell code for execution
+
+POST: http://127.0.0.1:9001/api/rest_j/v1/entrance/submit
+
+body parameter:
+
+```json
+{
+  "executionContent": {
+    "code": "echo 'hello'",
+    "runType": "shell"
+  },
+  "params": {
+    "variable": {
+      "testvar": "hello"
+    },
+    "configuration": {
+      "runtime": {},
+      "startup": {}
+    }
+  },
+  "source": {
+    "scriptPath": "file:///tmp/hadoop/test.sql"
+  },
+  "labels": {
+    "engineType": "shell-1",
+    "userCreator": "leojie-IDE"
+  }
+}
+```
+
+Results of the:
+
+```json
+{
+    "method": "/api/entrance/submit",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "taskID": 1,
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+Finally, check the running status of the task and get the running result set:
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress
+
+```json
+{
+    "method": 
"/api/entrance/exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0/progress",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "progress": 1,
+        "progressInfo": [],
+        "execID": 
"exec_id018017linkis-cg-entrance192.168.3.13:9104IDE_leojie_shell_0"
+    }
+}
+```
+
+GET http://127.0.0.1:9001/api/rest_j/v1/jobhistory/1/get
+
+GET 
http://127.0.0.1:9001/api/rest_j/v1/filesystem/openFile?path=file:///Users/leojie/software/linkis/data/resultSetDir/leojie/linkis/2022-07-16/214859/IDE/1/1_0.dolphin
+
+```json
+{
+    "method": "/api/filesystem/openFile",
+    "status": 0,
+    "message": "OK",
+    "data": {
+        "metadata": "NULL",
+        "totalPage": 0,
+        "totalLine": 1,
+        "page": 1,
+        "type": "1",
+        "fileContent": [
+            [
+                "hello"
+            ]
+        ]
+    }
+}
+```
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to