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

wuzhiguo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/bigtop-manager.git


The following commit(s) were added to refs/heads/main by this push:
     new a1dcaac9 BIGTOP-4405: Add initial documents (#203)
a1dcaac9 is described below

commit a1dcaac9a32e323c407f387958e0c2fe0a8af8cd
Author: Zhiguo Wu <[email protected]>
AuthorDate: Tue Apr 15 18:48:33 2025 +0800

    BIGTOP-4405: Add initial documents (#203)
    
    * doc contribution zh
    
    * doc contribution en
    
    * architecture zh
    
    * reformat
    
    * update img
    
    * architecture en
    
    * concepts
    
    * update contribution and concepts
    
    * cluster/service zh
    
    * cluster/service en
    
    * readme for docs dir
    
    * update readme
    
    * update readme
    
    * update readme
    
    * update readme
    
    * update cluster
    
    * repo url length
    
    * package url
    
    * update doc
    
    * update doc
    
    * add docs
    
    * update doc
    
    * update doc
    
    ---------
    
    Co-authored-by: siriume <[email protected]>
---
 .asf.yaml                                          |   2 +-
 .licenserc.yaml                                    |   1 +
 DM-README.md                                       |  70 ----------
 MYSQL-README.md                                    |  95 -------------
 README.md                                          |  87 +++++-------
 README.zh.md                                       |  56 --------
 .../src/main/resources/ddl/MySQL-DDL-CREATE.sql    |   2 +-
 .../main/resources/ddl/PostgreSQL-DDL-CREATE.sql   |   2 +-
 .../infra/1.0.0/services/grafana/metainfo.xml      |   4 +-
 .../stacks/infra/1.0.0/services/mysql/metainfo.xml |   4 +-
 docs/README.md                                     |  11 ++
 docs/README.zh.md                                  |  11 ++
 docs/en/architecture.md                            |  68 ++++++++++
 docs/en/cluster.md                                 |  54 ++++++++
 docs/en/concepts.md                                | 109 +++++++++++++++
 docs/en/contribution.md                            | 122 +++++++++++++++++
 docs/en/deploy.md                                  |  81 +++++++++++
 docs/en/prepare.md                                 | 147 ++++++++++++++++++++
 docs/en/service.md                                 |  42 ++++++
 docs/zh/architecture.md                            |  68 ++++++++++
 docs/zh/cluster.md                                 |  52 +++++++
 docs/zh/concepts.md                                | 109 +++++++++++++++
 docs/zh/contribution.md                            | 126 +++++++++++++++++
 docs/zh/deploy.md                                  |  81 +++++++++++
 docs/zh/prepare.md                                 | 149 +++++++++++++++++++++
 docs/zh/service.md                                 |  40 ++++++
 26 files changed, 1312 insertions(+), 281 deletions(-)

diff --git a/.asf.yaml b/.asf.yaml
index 522e240b..1091baa3 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -17,7 +17,7 @@
 #
 
 github:
-  description: "Bigtop Manager provides a modern, low-threshold web 
application to simplify the deployment and management of components for Bigtop, 
similar to Apache Ambari and Cloudera Manager."
+  description: "Bigtop Manager is a modern, AI-driven web application designed 
to simplify the complexity of bigdata cluster management."
   homepage: https://bigtop.apache.org
   labels:
     - java
diff --git a/.licenserc.yaml b/.licenserc.yaml
index ac6b1eb4..f298fffa 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -40,6 +40,7 @@ header:
     - 'NOTICE'
     - 'pnpm-lock.yaml'
     - '**/*.txt'
+    - '**/*.md'
 
   comment: on-failure
 
diff --git a/DM-README.md b/DM-README.md
deleted file mode 100644
index 065e6629..00000000
--- a/DM-README.md
+++ /dev/null
@@ -1,70 +0,0 @@
-<!---
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
---->
-
-# 达梦数据库支持
-
-## 1、下载相关jar包
-- byte-buddy-1.14.5.jar
-- DmDialect-for-hibernate6.1.jar
-- DmJdbcDriver18-8.1.2.192.jar
-- hibernate-commons-annotations-6.0.6.Final.jar
-- hibernate-core-6.2.5.Final.jar
-- jakarta.inject-api-2.0.1.jar
-- jakarta.transaction-api-2.0.1.jar
-
-## 2、修改application.yml
-```yaml
-bigtop:
-  manager:
-    orm:
-      # hibernate/eclipselink(default=eclipselink)
-      type: hibernate
-
-spring:
-  datasource:
-    driver-class-name: dm.jdbc.driver.DmDriver
-    username: SYSDBA
-    password: SYSDBA
-    url: 
jdbc:dm://localhost:5236?schema=bigtop_manager&compatibleMode=mysql&ignoreCase=true&characterEncoding=PG_UTF8
-
-  jpa:
-    show-sql: true
-    hibernate:
-      ddl-auto: none
-    properties:
-      hibernate:
-        show_sql: true
-        format_sql: true
-        dialect: org.hibernate.dialect.DmDialect
-
-```
-
-## 4、初始化DDL
-```bash
-bigtop-manager-server/src/main/resources/ddl/DaMeng-DDL-CREATE.sql
-```
-
-
-## 4、启动程序
-```bash
-./bin/start.sh
-```
-
-
-## 参考
-- [驱动下载](https://eco.dameng.com/download/)
-- [从 MySQL 移植到 
DM](https://eco.dameng.com/document/dm/zh-cn/start/mysql_dm.html#3.4.1%20%E6%BA%90%E7%AB%AF%20MySQL%20%E5%87%86%E5%A4%87)
\ No newline at end of file
diff --git a/MYSQL-README.md b/MYSQL-README.md
deleted file mode 100644
index 37371192..00000000
--- a/MYSQL-README.md
+++ /dev/null
@@ -1,95 +0,0 @@
-<!---
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
---->
-
-# mysql数据库支持
-
-## 1、下载相关jar包
-- mysql-connector-java-6.0.6.jar
-- mysql-connector-java-8.0.33.jar --mysql8
-
-
-## 2、修改application.yml
-```yaml
-bigtop:
-  manager:
-    orm:
-      # hibernate/eclipselink(default=eclipselink)
-      type: eclipselink
-
-spring:
-  application:
-    name: bigtop-manager-server
-  datasource:
-    # driver-class-name: com.mysql.jdbc.Driver(mysql8以下类名)
-    driver-class-name: com.mysql.cj.jdbc.Driver
-    password: root
-    type: com.zaxxer.hikari.HikariDataSource
-    url: jdbc:mysql://localhost:3306/bigtop_manager
-    username: root
-    hikari:
-      auto-commit: true
-      connection-test-query: select 1
-      connection-timeout: 30000
-      idle-timeout: 600000
-      initialization-fail-timeout: 1
-      leak-detection-threshold: 0
-      maximum-pool-size: 50
-      minimum-idle: 5
-      pool-name: BigtopManagerHikariCP
-      validation-timeout: 3000
-
-  jackson:
-    default-property-inclusion: non-null
-
-  jpa:
-    show-sql: true
-    properties:
-      eclipselink:
-        ddl-generation: create-or-extend-tables
-        weaving: false
-        persistence-context:
-          persist-on-commit: false
-        cache:
-          shared:
-            default: false
-        logging:
-          connection: false
-          logger: org.eclipse.persistence.logging.slf4j.SLF4JLogger
-          parameters: true
-          session: false
-          thread: false
-          timestamp: false
-          level:
-            connection: FINE
-            sql: FINEST
-            jpa: FINER
-```
-
-## 4、初始化DDL
-```bash
-bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql
-```
-
-
-## 4、启动程序
-```bash
-./bin/start.sh
-```
-
-
-## 参考
-- [驱动下载](https://dev.mysql.com/downloads/connector/j/)
\ No newline at end of file
diff --git a/README.md b/README.md
index 7410f7ad..5ff03978 100644
--- a/README.md
+++ b/README.md
@@ -1,53 +1,34 @@
-<!---
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
---->
-
-
-# Bigtop-Manager
-
-Bigtop-Manager is a platform for managing Bigtop components. Inspired by 
Apache Ambari.
-
-## Prerequisites
-
-JDK: Requires JDK 17 or 21  
-Metadata DB: Mariadb or Mysql(8 or above)
-
-### API-DOCS
-[swagger-ui](http://localhost:8080/swagger-ui/index.html)
-
-### Compile
-```bash
-mvn clean package -DskipTests
-```
-
-### Developer
-1. Create Database which named "bigtop_manager", Configure DB connect name & 
password, default both are 'root'
-2. Run SQL DDL Script at 
`bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql`
-3. Insert Test SQL Data at `dev-support/example/bigtop_manager/user.sql`
-4. Start bigtop-manager-server 
`bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/ServerApplication.java`
-5. Start bigtop-manager-agent `similar with run bm-server`
-6. Start bigtop-manager-ui `configure nodejs environmment, default folder is 
bigtop-manager-ui/node, then run with package.json`
-7. Visit `http://localhost:5173/`, default login user & password are `"admin"`
-
-### How to test a Service
-> 1. Login
-> 2. Create cluster ->Register host
-> 3. Installation Services
-> 4. Start Service
-> 5. Stop Service
-
-### API Testing
-- request `http://localhost:8080/swagger-ui/index.html` to check swagger API 
Doc
+<div align="center">
+<h1>Apache Bigtop Manager</h1>
+
+[![GitHub 
Forks](https://img.shields.io/github/forks/apache/bigtop-manager)](https://github.com/apache/bigtop-manager/forks)
+[![GitHub 
Stars](https://img.shields.io/github/stars/apache/bigtop-manager)](https://github.com/apache/bigtop-manager/stargazers)
+
+![GitHub branch check 
runs](https://img.shields.io/github/check-runs/apache/bigtop-manager/main)
+[![HitCount](https://views.whatilearened.today/views/github/apache/bigtop-manager.svg)](https://github.com/apache/bigtop-manager)
+[![Commits](https://img.shields.io/github/commit-activity/m/apache/bigtop-manager/main)](https://github.com/apache/bigtop-manager/commits/main)
+[![Contributors](https://img.shields.io/github/contributors/apache/bigtop-manager)](https://github.com/apache/bigtop-manager/graphs/contributors)
+[![License](https://img.shields.io/github/license/apache/bigtop-manager)](https://github.com/apache/bigtop-manager/LICENSE)
+
+<b>✨ A new generation of bigdata cluster management platform ✨</b>
+</div>
+
+## Introduction
+Bigtop Manager is a modern, AI-driven web application designed to simplify the 
complexity of bigdata cluster management.
+
+Provides an easy deployment solution not only for Apache Bigtop components, 
but also other community version bigdata components.
+
+## Documents
+See [Documents](./docs).
+
+## Stargazers
+![Stargazers](https://starchart.cc/apache/bigtop-manager.svg)
+
+## Code of Conduct
+Participate in this project in accordance with the Contributor Covenant [Code 
of Conduct](https://www.apache.org/foundation/policies/conduct).
+
+## Contributors
+We appreciate all developers for their contributions. See the [List Of 
Contributors](https://github.com/apache/bigtop-manager/graphs/contributors).
+
+## License
+[Apache 2.0 License](LICENSE)
diff --git a/README.zh.md b/README.zh.md
deleted file mode 100644
index 64836452..00000000
--- a/README.zh.md
+++ /dev/null
@@ -1,56 +0,0 @@
-<!---
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
---->
-
-# Bigtop-Manager
-
-Bigtop-Manager 是一个用于管理 Bigtop 组件的平台。灵感来自 Apache Ambari。
-
-## 先决条件
-
-JDK:需要 JDK 17 或 21  
-Metadata DB:Mariadb 或 Mysql
-
-### API-文档
-
-Swagger 用户界面
-
-### 编译
-
-```
-mvn clean package -DskipTests
-```
-
-### 开发 人员
-
-1. 创建数据库"bigtop_manager",配置数据库连接用户名和密码,默认均为“root”
-2. 运行SQL DDL 脚本 
`bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql`
-3. 插入测试数据,数据脚本位于`dev-support/example/bigtop_manager/user.sql`
-4. 启动 bigtop-manager-server 
`bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/ServerApplication.java`
-5. 启动 bigtop-manager-agent `类似于启动bm-server`
-6. 启动 bigtop-manager-ui `配置 nodejs 环境, 默认nodejs位于bigtop-manager-ui/node, 
运行package.json`
-7. 访问 `http://localhost:5173/`, 默认登录名和密码为 `"admin"`
-
-### 如何测试服务
-
-> 1. 登录
-> 2. 创建群集 ->注册主机
-> 3. 安装服务
-> 4. 启动服务
-> 5. 停止服务
-
-### API 测试
-- 访问 `http://localhost:8080/swagger-ui/index.html` 查看swagger API 文档
diff --git a/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql 
b/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql
index 28a75131..605ae8c9 100644
--- a/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql
+++ b/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql
@@ -126,7 +126,7 @@ CREATE TABLE `repo`
     `id`          BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
     `name`        VARCHAR(32) DEFAULT NULL,
     `arch`        VARCHAR(32) DEFAULT NULL,
-    `base_url`    VARCHAR(64) DEFAULT NULL,
+    `base_url`    VARCHAR(256) DEFAULT NULL,
     `type`        INT DEFAULT NULL COMMENT '1-services, 2-tools',
     `create_time` DATETIME    DEFAULT CURRENT_TIMESTAMP,
     `update_time` DATETIME    DEFAULT CURRENT_TIMESTAMP ON UPDATE 
CURRENT_TIMESTAMP,
diff --git 
a/bigtop-manager-server/src/main/resources/ddl/PostgreSQL-DDL-CREATE.sql 
b/bigtop-manager-server/src/main/resources/ddl/PostgreSQL-DDL-CREATE.sql
index 900f7101..d73c3b84 100644
--- a/bigtop-manager-server/src/main/resources/ddl/PostgreSQL-DDL-CREATE.sql
+++ b/bigtop-manager-server/src/main/resources/ddl/PostgreSQL-DDL-CREATE.sql
@@ -120,7 +120,7 @@ CREATE TABLE repo
     id          BIGINT CHECK (id > 0)         NOT NULL GENERATED ALWAYS AS 
IDENTITY,
     name        VARCHAR(32)  DEFAULT NULL,
     arch        VARCHAR(32)  DEFAULT NULL,
-    base_url    VARCHAR(64)  DEFAULT NULL,
+    base_url    VARCHAR(256)  DEFAULT NULL,
     type        INTEGER  DEFAULT NULL,
     create_time TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP,
     update_time TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP,
diff --git 
a/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/grafana/metainfo.xml
 
b/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/grafana/metainfo.xml
index 87dda446..ee540d94 100644
--- 
a/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/grafana/metainfo.xml
+++ 
b/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/grafana/metainfo.xml
@@ -54,7 +54,7 @@
                 </architectures>
                 <packages>
                     <package>
-                        <url>https://dl.grafana.com/oss/release/</url>
+                        <url>https://dl.grafana.com/oss/release</url>
                         <name>grafana-11.4.0.linux-amd64.tar.gz</name>
                         
<checksum>SHA-256:3550c73f4455435642976e82cc89aa354f076a75b766a408781107f4f5d4744c</checksum>
                     </package>
@@ -66,7 +66,7 @@
                 </architectures>
                 <packages>
                     <package>
-                        <url>https://dl.grafana.com/oss/release/</url>
+                        <url>https://dl.grafana.com/oss/release</url>
                         <name>grafana-11.4.0.linux-arm64.tar.gz</name>
                         
<checksum>SHA-256:c978b46a61d92883119131641c03b8a1323a284e74ab9a20e7e48207dc1a11e1</checksum>
                     </package>
diff --git 
a/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/mysql/metainfo.xml
 
b/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/mysql/metainfo.xml
index 00c8e479..b3a38ae2 100644
--- 
a/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/mysql/metainfo.xml
+++ 
b/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/mysql/metainfo.xml
@@ -53,7 +53,7 @@
                 </architectures>
                 <packages>
                     <package>
-                        
<url>https://dev.mysql.com/get/Downloads/MySQL-8.0/</url>
+                        
<url>https://dev.mysql.com/get/Downloads/MySQL-8.0</url>
                         <name>mysql-8.0.40-linux-glibc2.28-x86_64.tar.xz</name>
                         
<checksum>MD5:dcf2702f953d1969be44083f4f063f18</checksum>
                     </package>
@@ -65,7 +65,7 @@
                 </architectures>
                 <packages>
                     <package>
-                        
<url>https://dev.mysql.com/get/Downloads/MySQL-8.0/</url>
+                        
<url>https://dev.mysql.com/get/Downloads/MySQL-8.0</url>
                         
<name>mysql-8.0.40-linux-glibc2.28-aarch64.tar.xz</name>
                         
<checksum>MD5:a79f41ce62784a1a0e081c76116008de</checksum>
                     </package>
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 00000000..23de665c
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,11 @@
+# Documents
+[Chinese Edition](README.zh.md)
+
+We provide the following documents for you to understand this project:
+* [Prepare](./en/prepare.md): Prepare environment.
+* [Deploy](./en/deploy.md): Deploy the project.
+* [Architecture](./en/architecture.md): The architecture of the project.
+* [Concepts](./en/concepts.md): The concepts used in this project.
+* [Cluster](./en/cluster.md): How to create a cluster.
+* [Service](./en/service.md): How to add a service.
+* [Contribution](./en/contribution.md): How to contribute to the project.
diff --git a/docs/README.zh.md b/docs/README.zh.md
new file mode 100644
index 00000000..9ed26d22
--- /dev/null
+++ b/docs/README.zh.md
@@ -0,0 +1,11 @@
+# 文档
+[英文文档](README.md)
+
+我们为您提供以下文档,以帮助您了解该项目:
+* [环境准备](./zh/prepare.md): 如何为项目部署做环境准备。
+* [部署](./zh/deploy.md): 如何部署项目。
+* [架构](./zh/architecture.md): 项目的架构。
+* [概念](./zh/concepts.md): 项目中使用的概念。
+* [集群](./zh/cluster.md): 如何创建一个集群。
+* [服务](./zh/service.md): 如何添加一个服务。
+* [贡献](./zh/contribution.md): 如何为项目做出贡献。
diff --git a/docs/en/architecture.md b/docs/en/architecture.md
new file mode 100644
index 00000000..bf6d93a5
--- /dev/null
+++ b/docs/en/architecture.md
@@ -0,0 +1,68 @@
+# Architecture and Design
+
+## Hierarchical Architecture System
+![Architecture](https://github.com/user-attachments/assets/1425d981-f6a2-4bb6-b0a6-a76f0969b99a)
+### Interface Layer
+* **Functional Modules**:
+    * **REST API**: Provide HTTP interfaces that comply with the OpenAPI 3.0 
specification.
+    * **Web UI**: An interactive management interface based on Vue 3.
+* **Interaction Protocol**: All interface requests are transmitted via HTTP.
+
+### Core Layer
+| Module | Responsibility Description                                          
                            |
+|--------|-------------------------------------------------------------------------------------------------|
+| Server | Cluster metadata management, Job scheduling, and global state 
maintenance                       |
+| Agent  | Host-level service lifecycle management 
(deployment/start-stop/configuration)                   |
+| LLM    | Generate intelligent operation and maintenance suggestions based on 
natural language processing |
+| Stack  | Define component stacks                                             
                            |
+| gRPC   | Implement a two-way communication protocol between the Server and 
the Agent                     |
+| Job    | A task execution unit that records operation status and logs        
                            |
+
+### Component Layer
+* **Supported Components**: Include but not limited to ZooKeeper/Hadoop/Kafka, 
etc.
+* **Extension Mechanism**: Define installation scripts and configuration 
templates for new components through the Stack module.
+
+## Cluster Topology Rules
+![Cluster](https://github.com/user-attachments/assets/fc0f3050-d66c-4c04-a258-11290f556a28)
+### Deployment Constraints
+* **Service Instances**:
+    * The Server runs in a single-instance mode on the Host.
+    * At most one Agent instance can be deployed on each Host.
+* **Resource Allocation**:
+    * Each Host can only join one cluster.
+    * The Agent is responsible for managing all components within the Host.
+* **Communication Path**:
+```mermaid
+graph TD
+    Server-->|Management|Cluster-A
+    Server-->|Management|Cluster-B
+    Cluster-A-->|Agent|Host-1
+    Cluster-A-->|Agent|Host-2
+    Cluster-B-->|Agent|Host-3
+```
+
+## Job Processing Flow
+![Command](https://github.com/user-attachments/assets/7262b8a8-e8a2-420c-b642-c0838bcf6591)
+### Instruction Execution Phase
+* **Request Reception**:
+    * Users initiate operation requests (such as starting Kafka) through the 
REST API or Web UI.
+    * After the Server verifies the permissions, it creates the corresponding 
Job record.
+* **Job Scheduling**:
+```mermaid
+graph LR
+    A[Job Enqueue] --> B(Job Queue)
+    B --> C{Scheduling Strategy}
+    C -->|FIFO| D[Split Task]
+    D --> E[Distribute to Agent via gRPC]
+```
+* **Script Execution**:
+    * The Agent loads the corresponding script in the Stack.
+    * Execution logs are written to the local log file in real time.
+
+### State Management Mechanism
+| State Type        | Trigger Condition                      | Handling 
Strategy             |
+|-------------------|----------------------------------------|-------------------------------|
+| PENDING           | Task created but not scheduled         | Wait for 
invocation           |
+| RUNNING           | Task has been issued to the Agent      | Monitor the 
timeout threshold |
+| SUCCESSFUL/FAILED | The Agent returns the execution result | Update 
component status       |
+| CANCELED          | The preceding task fails               | Cancel 
subsequent tasks       | 
\ No newline at end of file
diff --git a/docs/en/cluster.md b/docs/en/cluster.md
new file mode 100644
index 00000000..a16e0950
--- /dev/null
+++ b/docs/en/cluster.md
@@ -0,0 +1,54 @@
+
+# Cluster
+
+## Create a Cluster
+This section describes how to create a cluster.
+
+### Basic Information
+When creating a cluster, users need to fill in the following information:
+- **Name**: The unique identifier of the cluster, a key information for the 
code to recognize the cluster.
+- **DisplayName**: The display name of the cluster, shown on the page for 
users to distinguish.
+- **Description**: A detailed description of the cluster.
+- **Root Directory**: The address where cluster services are installed. 
Corresponding service directories will be created here. For example, if this is 
`/opt`, ZooKeeper will be installed under `/opt/services/zookeeper`.
+- **User Group**: The user group for cluster services. A separate username 
will be created for each service. If this is `hadoop`, the file permissions for 
ZooKeeper will be `zookeeper:hadoop`.
+
+![Basic 
Info](https://github.com/user-attachments/assets/4fb8ccad-0694-4b9a-a0ac-33c736575391)
+
+### Stack
+The stack page is a display page that mainly shows which optional services are 
available for subsequent installation.
+
+![Stack](https://github.com/user-attachments/assets/faf1112c-f0a6-4353-ba63-83abbb819c29)
+
+Expect for our official repository, users can also set their own repository 
which can configured here
+
+We also provide other ways for you download dependencies:
+* BaiduNetdisk: https://pan.baidu.com/s/162FXYsaRuwFQjrOlMuDRjg?pwd=hufb
+
+![Repository](https://github.com/user-attachments/assets/6b235122-ffdf-4d16-a4b4-994525f12d51)
+
+### Hosts
+#### Add a Host
+When adding a host, the following information needs to be filled in:
+- **Username**: The user on the host.
+- **Authentication Method**: Authentication method (password/key/no 
authentication).
+- **Hostname**: Hostname, supporting batch addition such as `host-0[1-2]`.
+- **Agent Path**: The path where the Agent is installed. If this is `/opt`, 
the Agent directory will be `/opt/bigtop-manager-agent`.
+- **SSH Port**: The port used by the host's SSHD.
+- **GRPC Port**: The port where the Agent's gRPC service is exposed as desired 
by the user.
+- **Description**: Host description.
+
+![Host](https://github.com/user-attachments/assets/761b9931-54f3-4309-adc0-87b611b68e7f)
+
+#### Install Dependencies
+After entering the host information and before proceeding to the next step, 
users need to install dependencies, i.e., install the agent application on the 
corresponding host.
+
+![Dependency](https://github.com/user-attachments/assets/0dedfbb3-dfbb-4d06-8a9c-d0e0366a1f50)
+
+Users can only proceed to the next step if all hosts are installed 
successfully. Otherwise, they need to fix the errors or remove the hosts where 
installation failed.
+
+![Host](https://github.com/user-attachments/assets/c836e570-fa6a-411f-b3b4-0efb4b55d6ef)
+
+### Create
+Finally, wait for the cluster to be created successfully. If it fails, resolve 
the issues and retry.
+
+![Create 
Cluster](https://github.com/user-attachments/assets/339a289e-c718-4953-bdb2-15232978fd49)
\ No newline at end of file
diff --git a/docs/en/concepts.md b/docs/en/concepts.md
new file mode 100644
index 00000000..c1ea16c3
--- /dev/null
+++ b/docs/en/concepts.md
@@ -0,0 +1,109 @@
+# Concepts
+
+## Cluster
+### Definition
+A cluster is a logical unit composed of a group of physical or virtual hosts, 
used to host the distributed runtime environment for big data components. Each 
cluster has independent configuration space and resource isolation boundaries.
+
+### Key Features
+* **Multi Cluster**: A single Server instance can manage multiple clusters 
simultaneously (e.g., production clusters, test clusters, etc.).
+* **Host Binding**: Each Host can only belong to one cluster.
+
+### Stack
+### Stack
+#### Definition
+A predefined standardized service collection that includes installation 
scripts, configuration templates, and dependency relationship descriptions.
+
+#### Stack List
+| Stack      | Description                                                     
          |  
+|------------|---------------------------------------------------------------------------|
  
+| **Infra**  | Services shared by all clusters, such as the monitoring system 
Prometheus |  
+| **Bigtop** | Services provided by Apache Bigtop, such as Hadoop/Hive/Spark, 
etc.       |  
+| **Extra**  | Community-provided or custom services, such as SeaTunnel        
          |  
+
+### Service
+#### Definition
+A service unit running on a cluster, representing specific big data services 
(such as Hadoop/Hive/Spark, etc.).
+
+#### Management
+##### Configuration Management
+* **Snapshots**: Supports configuration snapshot creation and management.
+* **Templates**: Uses Freemarker syntax to dynamically render configuration 
files.
+
+##### Status Monitoring
+* **Heartbeat**: The Agent reports service health status every 30 seconds.
+
+### Component
+#### Definition
+A runtime instance within a service, corresponding to specific processes or 
functional modules. Component-level operations (start/stop, etc.) are executed 
by the Agent.
+
+#### Component Examples
+```mermaid
+graph TB
+Hadoop-->NameNode
+Hadoop-->DataNode
+Hadoop-->ResourceManager
+Kafka-->KB[Kafka Broker]
+Solr-->SI[Solr Instance]
+SeaTunnel-->SM[SeaTunnel Master]
+SeaTunnel-->SW[SeaTunnel Worker]
+SeaTunnel-->SL[SeaTunnel Client]
+```
+
+## Job
+### Job
+#### Definition
+The smallest schedulable unit initiated by users, representing a complete 
operation and maintenance target. For example:  
+`Start Hadoop service`, `Update Spark configuration and restart`, etc.
+
+#### Features
+* **Atomicity**: The execution result of a Job has only two states: success or 
failure.
+* **Scope**: Acts on a single cluster.
+* **Lifecycle**: Forms a complete operation trajectory from creation to final 
state change.
+
+### Stage
+#### Definition
+A logical execution unit decomposed from a Job (Job), corresponding to 
independent operation steps of service components. For example:  
+The `Start Hadoop` Job → `Start NameNode` Stage, `Start DataNode` Stage, etc.
+
+#### Division Principles
+* **Dependency**: Components with startup order constraints must be split into 
independent Stages (e.g., NameNode needs to start before DataNode).
+* **Isolation**: Operations of different component categories must be executed 
in isolation.
+* **Parallelism**: Allows parallel execution of Tasks within the same Stage.
+
+### Task
+#### Definition
+An execution instance of a Stage (Stage) on a specific host, representing the 
smallest granularity of operation instructions. For example:  
+The `Start NameNode` Stage → `Start NameNode on host-01` Task, `Start NameNode 
on host-02` Task.
+
+### Job Scheduling Process
+#### Job Generates Stages and Tasks
+After users submit operation requests via the REST API:
+* The Server parses the request and validates its legitimacy.
+* Generates a Stage DAG based on component dependency relationships.
+* Generates a set of host-level Tasks for each Stage.
+* Persists Job/Stage/Task metadata to the database (status initialized to 
`PENDING`).
+
+#### Stage Scheduling Phase
+The scheduler executes Stages in DAG order:
+* Checks the status of preceding Stages (triggered only when all preceding 
Stages succeed).
+* Extracts the set of Tasks in the Stage.
+* Batches Tasks to the corresponding hosts for execution by the Agent.
+
+#### Task Execution Phase
+Processing flow after the Agent receives a Task:
+* **Resource Pre-Check**: Verifies the installation status and dependencies of 
the target component.
+* **Script Execution**: Invokes the predefined component operation script in 
the Stack.
+* **Status Feedback**: Writes task logs in real time and updates the Task 
status to the Server.
+
+Execution Guarantee Mechanisms:
+* **Timeout**: A single Task execution timeout (default 30 minutes) is 
automatically marked as failed.
+* **Retry**: Network exception failures can be automatically retried (up to 3 
times).
+* **Idempotent**: Re-executing a successful Task will not cause side effects.
+
+#### State Management Mechanism
+| State Type        | Trigger Condition                          | Handling 
Strategy         |  
+|-------------------|--------------------------------------------|---------------------------|
  
+| PENDING           | Task created but not scheduled             | Wait for 
invocation       |  
+| RUNNING           | Task in execution                          | Monitor 
timeout threshold |  
+| SUCCESSFUL/FAILED | Task execution result                      | Update 
component status   |  
+| CANCELED          | Task canceled (only exists for Stage/Task) | Cancel 
subsequent tasks   |
\ No newline at end of file
diff --git a/docs/en/contribution.md b/docs/en/contribution.md
new file mode 100644
index 00000000..1b626b09
--- /dev/null
+++ b/docs/en/contribution.md
@@ -0,0 +1,122 @@
+# Development Environment Setup
+
+## Prerequisites
+
+### Frontend
+* Vue: 3.4.x
+* Vite: 5.x
+* NodeJS: v18.x
+* Pnpm: v8.x
+* Component Library: Ant Design Vue 4.x
+
+### Backend
+* Git: Any version
+* JDK: JDK17 or higher
+* Database: Postgres(16+) or MySQL(8+)
+* Maven: It is recommended to use version 3.8 or higher
+* Development Tool: Intellij IDEA
+
+## Setup
+
+### Get the Code
+First, you need to pull the Bigtop Manager source code from Github using the 
following command:
+
+`git clone [email protected]:apache/bigtop-manager.git`
+
+### Compile
+After getting the code, some dependencies require you to compile the project 
first before you can use them; otherwise, an error will occur. Please run the 
following command:
+
+`./mvnw clean install -DskipTests`
+
+### Initialize
+First, you need to initialize your database. The database files are in the 
`bigtop-manager-server/src/main/resources/ddl/` directory. Please use the 
corresponding scripts to initialize your database. Currently, only `Postgres` 
and `MySQL` are supported.
+
+And modify your database information in the 
`bigtop-manager-server/src/main/resources/application.yml` file.
+
+### Development
+After compiling the project, you can start development.
+
+For Java projects, you can directly use the `Debug` feature of Intellij IDEA.
+
+For Vue projects, please run the following commands:
+
+```
+cd bigtop-manager-ui
+pnpm dev
+```
+
+Then access `localhost:5173` in your browser. Next, enjoy your development 
journey!
+
+### Development Mode
+To reduce the complexity of development environment dependencies for big data 
components, we support development mode:
+
+#### Environment Decoupling Design
+Traditional deployment requires developers to set up a complete Linux service 
cluster, with the following pain points:
+* High environmental configuration complexity raises the development threshold
+* Non-component issues (such as scheduling problems, etc.) easily hinder 
development
+
+#### Lightweight Debugging Mechanism
+Activate developer mode via the `DEV_MODE=true` environment variable to 
achieve:
+* **Mock component operations**: The Agent automatically intercepts component 
calls and returns a preset success status
+* **Cross-platform support**: Fully compatible with Windows/MacOS/Linux 
development environments (IntelliJ IDEA recommended)
+
+#### Quick Activation
+Users can enable it through the following method: 
+![DEV_MODE](https://github.com/user-attachments/assets/d0e59fad-4287-4be5-a57c-d5c656e0dbb2)
+
+# Modules and Functions
+| Module                    | Introduction                                     
                                                                          | 
+|---------------------------|----------------------------------------------------------------------------------------------------------------------------|
+| **bigtop-manager-agent**  | It will be installed on each host to manage the 
services on each host.                                                     |
+| **bigtop-manager-ai**     | It contains some code related to the AI 
assistant.                                                                      
   |
+| **bigtop-manager-bom**    | It defines all the dependencies and their 
versions in the project.                                                        
 |
+| **bigtop-manager-common** | It contains some common utility classes.         
                                                                          |
+| **bigtop-manager-dao**    | It interacts with the database.                  
                                                                          |
+| **bigtop-manager-dist**   | The packaged content will be placed in this 
module, including the tar packages of `Server` and `Agent`.                    |
+| **bigtop-manager-grpc**   | The Server application and the Agent application 
interact through gRPC. This module contains all gRPC service definitions. |
+| **bigtop-manager-server** | It is the main code of the management end.       
                                                                          |
+| **bigtop-manager-stack**  | It contains the components and their operation 
scripts in each component stack.                                            |
+| **bigtop-manager-ui**     | It is the front - end code.                      
                                                                          |
+
+# Contribution Process
+
+## Code Style
+We need to ensure that our code format meets the requirements.
+
+Java:
+```
+./mvnw clean spotless:apply
+```
+
+Vue:
+```
+cd bigtop-manager-ui
+pnpm prettier
+```
+
+## Unit Tests
+Before submitting your code, please ensure that all unit tests pass.
+
+Java:
+```
+./mvnw clean test -Dskip.pnpm -Dskip.installnodepnpm -Dskip.pnpm.test
+```
+
+Vue:
+```
+./mvnw -pl bigtop-manager-ui test
+```
+
+## Create an Issue
+1. First, go to the [Bigtop](https://issues.apache.org/jira/projects/BIGTOP) 
project in Apache Jira.
+2. Create an Issue.
+3. Ensure that the Summary of the Issue is described in English. If possible, 
write the details in the Description, which also needs to be in English.
+4. If you are submitting an issue for Bigtop Manager, click the Components 
option, select bigtop-manager, and also select the corresponding version for 
the Fix Version. Bigtop Manager starts with bm-, for example, bm-1.0.0 means 
this issue will be fixed in Bigtop Manager 1.0.0. The Affects Version is 
optional, and the rules are the same as above.
+
+## Submit Code
+1. Get the Issue number. You can get the number from the Jira page or the URL. 
For example, if the current URL is: 
[https://issues.apache.org/jira/browse/BIGTOP-4162](https://issues.apache.org/jira/browse/BIGTOP-4162),
 then the number is BIGTOP-4162.
+2. Create a local branch. It is recommended that one Issue corresponds to one 
branch, for example, `git checkout -b bigtop-4162`.
+3. Submit your code to this branch and push the branch to your forked 
repository on Github.
+4. Create a Pull Request. The naming rule for the Title is `ISSUE number: 
Description`, for example, `BIGTOP-4162: Add health check for components`. If 
the PR is complex, it is recommended to write a Description for both the Issue 
and the PR to explain the specific purpose.
+5. Ensure that all Github CIs pass. If one fails, the PR will not be reviewed.
+6. After the CIs pass normally, wait for the Maintainer to review your PR. If 
there are comments, please handle them in time. After the review passes, it can 
be merged.
\ No newline at end of file
diff --git a/docs/en/deploy.md b/docs/en/deploy.md
new file mode 100644
index 00000000..c267f058
--- /dev/null
+++ b/docs/en/deploy.md
@@ -0,0 +1,81 @@
+# Installation
+## Package Deployment
+```bash
+# Extract the installation package (note correct extraction parameters)
+tar zxvf apache-bigtop-manager-1.0.0-SNAPSHOT-server.tar.gz -C /opt
+
+# Enter deployment directory
+cd /opt/bigtop-manager-server
+```
+
+## Configuration
+```bash
+# Enter deployment directory
+cd /opt/bigtop-manager-server
+
+# Modify configuration file (replace all placeholders)
+sed -e "s|org.postgresql.Driver|com.mysql.cj.jdbc.Driver|g" \
+    -e "s|jdbc:postgresql://localhost:5432|jdbc:mysql://YOUR_MYSQL_IP:3306|g" \
+    -e "s|username: postgres|username: YOUR_USER_NAME|g" \
+    -e "s|password: postgres|password: YOUR_PASSWORD|g" \
+    -i.bak conf/application.yml  # Automatically generate backup file
+```
+
+### Optional Service Port Configuration
+```yaml
+# Add to the end of conf/application.yml
+server:
+  port: 8080  # Modify to desired port, default is 8080
+```
+
+## Create MySQL User
+```sql
+-- Create database (execute the second line first if password policy needs 
adjustment)
+CREATE DATABASE bigtop_manager;
+-- SET GLOBAL validate_password_policy = LOW;  -- Temporarily lower password 
policy for testing environments
+
+-- Create user (replace YOUR_USER_NAME/YOUR_IP/YOUR_PASSWORD)
+CREATE USER 'YOUR_USER_NAME'@'YOUR_IP' IDENTIFIED BY 'YOUR_PASSWORD';
+
+-- Grant privileges (recommend narrowing privileges based on requirements)
+GRANT ALL PRIVILEGES ON bigtop_manager.* TO 'YOUR_USER_NAME'@'YOUR_IP';
+FLUSH PRIVILEGES;
+```
+
+## Initialize Database
+```bash
+# Enter deployment directory
+cd /opt/bigtop-manager-server
+
+# Execute DDL script (note password parameter format)
+mysql -h YOUR_MYSQL_IP -P 3306 -u YOUR_USER_NAME -pYOUR_PASSWORD < 
ddl/MySQL-DDL-CREATE.sql
+```
+
+## Download MySQL Driver
+```bash
+# Enter deployment directory
+cd /opt/bigtop-manager-server
+
+# Official repository
+wget 
https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.0.33/mysql-connector-j-8.0.33.jar
 -O libs/mysql-connector-j-8.0.33.jar
+
+# For users in Mainland China (recommended Aliyun mirror)
+wget 
https://maven.aliyun.com/repository/central/com/mysql/mysql-connector-j/8.0.33/mysql-connector-j-8.0.33.jar
 -O libs/mysql-connector-j-8.0.33.jar
+```
+
+## Start Service
+```bash
+# Enter deployment directory
+cd /opt/bigtop-manager-server
+
+# Start service
+./bin/start.sh
+
+# Or run in background
+nohup bin/start.sh > /dev/null 2>&1 &
+```
+
+## 7. Admin Page
+* Url: `http://YOUR_IP:8080/`
+* Username: `admin`  
+* Password: `admin`
\ No newline at end of file
diff --git a/docs/en/prepare.md b/docs/en/prepare.md
new file mode 100644
index 00000000..90d0e602
--- /dev/null
+++ b/docs/en/prepare.md
@@ -0,0 +1,147 @@
+# Prepare
+## Operating System
+### Requirements
+Supported Architectures
+* `x86_64`
+* `aarch64`
+
+Verified Distributions
+* `Rocky Linux 8.10`
+* `Anolis OS 8.10`
+* `openEuler 24.03`
+
+Filesystems
+* `ext4`
+* `xfs`
+
+## JDK
+Requires `JDK ≥ 17` (e.g., `JDK17` or `JDK21`). LTS releases are recommended.
+
+## Database
+Supported Databases:
+* `MySQL`
+* `PostgreSQL`
+
+Recommended versions:
+* `MySQL` 8.0+
+* `PostgreSQL` 16.4+
+
+## Build
+```bash
+git clone https://github.com/apache/bigtop-manager.git
+cd bigtop-manager
+mvn clean package -DskipTests
+```
+
+## System
+### Firewall
+If port connectivity issues occur, temporarily disable the firewall to confirm 
whether it is blocking traffic. Re-enable specific ports for bigtop-manager 
components if needed.
+
+```bash
+sudo systemctl stop firewalld.service
+sudo systemctl disable firewalld.service
+```
+
+### Time Sync
+Ensure clock synchronization across all cluster nodes to prevent metadata 
inconsistencies.
+
+#### NTP
+```bash
+sudo systemctl start ntpd.service
+sudo systemctl enable ntpd.service
+```
+
+#### Chrony
+```bash
+sudo systemctl start chronyd.service
+sudo systemctl enable chronyd.service
+```
+
+## Hosts
+### Set Hostname
+```bash
+hostnamectl set-hostname your-host-name
+
+# Update /etc/hosts
+echo "10.10.0.101 bm1" | sudo tee -a /etc/hosts
+echo "10.10.0.102 bm2" | sudo tee -a /etc/hosts
+echo "10.10.0.103 bm3" | sudo tee -a /etc/hosts
+```
+
+## System Tuning
+### Resource Limits
+```bash
+cat >> /etc/security/limits.conf << EOF
+*            soft    fsize           unlimited
+*            hard    fsize           unlimited
+*            soft    cpu             unlimited
+*            hard    cpu             unlimited
+*            soft    as              unlimited
+*            hard    as              unlimited
+*            soft    nofile          1048576
+*            hard    nofile          1048576
+*            soft    nproc           unlimited
+*            hard    nproc           unlimited
+EOF
+```
+
+Verify
+```bash
+ulimit -a
+```
+
+### Memory Optimization
+#### Disable Transparent Huge Pages (THP)
+```bash
+echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
+echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag
+```
+
+#### Adjust Swappiness
+```bash
+sysctl vm.swappiness=1
+swapoff -a
+```
+
+#### Verification
+```bash
+cat /sys/kernel/mm/transparent_hugepage/enabled
+cat /sys/kernel/mm/transparent_hugepage/defrag
+
+free -h | grep Swap
+sysctl vm.swappiness
+```
+
+#### Persistence Configuration
+```bash
+# THP
+cat >> /etc/rc.d/rc.local << EOF
+if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
+  echo never > /sys/kernel/mm/transparent_hugepage/enabled
+fi
+if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
+  echo never > /sys/kernel/mm/transparent_hugepage/defrag
+fi
+EOF
+chmod +x /etc/rc.d/rc.local
+
+# Swappiness
+echo 'vm.swappiness=1' | sudo tee -a /etc/sysctl.conf
+```
+
+## SSH
+### Generate SSH Keys
+```bash
+# Generate keys (run once on the server node)
+ssh-keygen -N '' -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key
+ssh-keygen -N '' -t ecdsa -b 256 -f /etc/ssh/ssh_host_ecdsa_key
+ssh-keygen -N '' -t ed25519 -b 256 -f /etc/ssh/ssh_host_ed25519_key
+```
+
+### Distribute Public Keys (Optional)
+```bash
+# Replace YOU_KEY.pub with your actual public key
+for node in bm{1..3}; do
+  ssh-copy-id -i ~/.ssh/YOU_KEY.pub $node
+done
+```
\ No newline at end of file
diff --git a/docs/en/service.md b/docs/en/service.md
new file mode 100644
index 00000000..9cd07d49
--- /dev/null
+++ b/docs/en/service.md
@@ -0,0 +1,42 @@
+
+# Service
+
+## Add a Service
+This section describes how to add a service.
+
+First, it should be clear that the installation entry for Infra Stack services 
is different from that of Bigtop/Extra Stack services. Infra Stack services are 
installed via the **Infrastructure** entry:
+
+![Infrastructure](https://github.com/user-attachments/assets/d4c8e62a-c704-4ab9-90f1-49a661dda951)
+
+While Bigtop/Extra Stack services are installed via the **Cluster** entry:
+
+![Cluster](https://github.com/user-attachments/assets/41a5ba8a-6a0e-457d-a249-674ebc139ac2)
+
+The services displayed differ by entry. Below, we use the ZooKeeper service in 
the Bigtop Stack as an example for explanation.
+
+### Select Services
+On this page, users can select the service we want to install. Each service 
has a **License** icon in the upper right corner:
+* **Green**: Indicates the license is compatible with the Apache License.
+* **Red**: Indicates license incompatibility. For such services, installation 
will default to downloading from the official website, user-configured 
repository will be inactive. Currently incompatible services include MySQL and 
Grafana in the Infra Stack.
+
+![Service](https://github.com/user-attachments/assets/0b6a9dfc-e4c4-48f2-8ca4-8b31ba558578)
+
+### Assign Components
+Users need to assign components to hosts, switch components via the left 
sidebar:
+
+![Component](https://github.com/user-attachments/assets/a436966f-6cc0-4c80-84ab-310e65fe9948)
+
+### Configure Service
+Users can modify service configurations here:
+
+![Configure](https://github.com/user-attachments/assets/aac410c4-335c-4461-92f6-4af711547717)
+
+### Service Overview
+Users can verify if the assigned components and configurations are correct. If 
not, return to the previous step to make changes:
+
+![Overview](https://github.com/user-attachments/assets/4bcbaea7-ddfb-4ee5-9bee-faea48216cab)
+
+### Install
+Finally, users only need to wait for the service to be added successfully. If 
it fails, resolve the issues and retry:
+
+![Add 
Service](https://github.com/user-attachments/assets/0258888c-f7c5-40ba-9cba-dd73e492e919)
\ No newline at end of file
diff --git a/docs/zh/architecture.md b/docs/zh/architecture.md
new file mode 100644
index 00000000..13a636dd
--- /dev/null
+++ b/docs/zh/architecture.md
@@ -0,0 +1,68 @@
+# 架构与设计
+
+## 分层架构体系
+![Architecture](https://github.com/user-attachments/assets/1425d981-f6a2-4bb6-b0a6-a76f0969b99a)
+### 接口层(Interface Layer)
+* **功能模块**:
+    * **REST API**:提供符合 OpenAPI 3.0 规范的HTTP接口
+    * **Web UI**:基于 Vue 3 的交互式管理界面
+* **交互协议**:所有接口请求均通过 HTTP 传输
+
+### 核心层(Core Layer)
+| 模块     | 职责描述                       |
+|--------|----------------------------|
+| Server | 集群元数据管理、Job调度、全局状态维护       |
+| Agent  | 主机级服务生命周期管理(部署/启停/配置)      |
+| LLM    | 基于自然语言处理的智能运维建议生成          |
+| Stack  | 组件栈定义                      |
+| gRPC   | 实现 Server 与 Agent 间的双向通信协议 |
+| Job    | 任务执行单元,记录操作状态与日志           |
+
+### 组件层(Component Layer)
+* **支持组件**:包括但不限于: ZooKeeper/Hadoop/Kafka 等
+* **扩展机制**:通过 Stack 模块定义新组件的安装脚本与配置模板
+
+## 集群拓扑规则
+![Cluster](https://github.com/user-attachments/assets/fc0f3050-d66c-4c04-a258-11290f556a28)
+### 部署约束
+* **服务实例**:
+    * Server 以单实例模式运行于 Host
+    * 每个 Host 最多部署一个 Agent 实例
+* **资源分配**:
+    * 每个 Host 仅可加入一个集群
+    * Agent 负责管理 Host 内的所有组件
+* **通信路径**:
+```mermaid
+graph TD
+    Server-->|Management|Cluster-A
+    Server-->|Management|Cluster-B
+    Cluster-A-->|Agent|Host-1
+    Cluster-A-->|Agent|Host-2
+    Cluster-B-->|Agent|Host-3
+```
+
+## 任务处理流程
+![Command](https://github.com/user-attachments/assets/7262b8a8-e8a2-420c-b642-c0838bcf6591)
+### 指令执行阶段
+* **请求接收**:
+    * 用户通过 REST API 或 Web UI 发起操作请求(如启动 Kafka)
+    * Server 验证权限后创建对应Job记录
+* **任务调度**:
+```mermaid
+graph LR
+    A[Job Enqueue] --> B(Job Queue)
+    B --> C{Scheduling Strategy}
+    C -->|FIFO| D[Split Task]
+    D --> E[Distribute to Agent via gRPC]
+```
+* **脚本执行**:
+    * Agent 加载 Stack 中对应的脚本
+    * 执行日志实时写入本地 Log 文件
+
+### 状态管理机制
+| 状态类型              | 触发条件           | 处理策略   |
+|-------------------|----------------|--------|
+| PENDING           | Task 创建未调度     | 等待调用   |
+| RUNNING           | Task 已下发 Agent | 监听超时阈值 |
+| SUCCESSFUL/FAILED | Agent 返回执行结果   | 更新组件状态 |
+| CANCELED          | 前置任务失败         | 取消后续任务 |
\ No newline at end of file
diff --git a/docs/zh/cluster.md b/docs/zh/cluster.md
new file mode 100644
index 00000000..d54b550b
--- /dev/null
+++ b/docs/zh/cluster.md
@@ -0,0 +1,52 @@
+# 集群
+## 创建集群
+本节我们来描述如何创建集群
+
+### 基本信息
+创建集群时用户需要填写如下信息
+* Name:集群唯一标识,是代码识别集群的关键信息
+* DisplayName:集群显示名,展示在页面上供用户区分
+* Description:集群描述,描述集群详细信息
+* Root Directory:集群服务安装的地址,对应的服务目录会创建至该处,若此处为 `/opt` 则 ZooKeeper 会被安装在 
`/opt/services/zookeeper` 下
+* User Group:集群服务的用户组,每个服务会分别创建一个用户名,如此处为 `hadoop`,则 ZooKeeper 文件对应的权限则为 
`zookeeper:hadoop`
+
+![Basic 
Info](https://github.com/user-attachments/assets/4fb8ccad-0694-4b9a-a0ac-33c736575391)
+
+### 组件栈
+组件栈页面为展示页面,主要显示后续安装服务时有哪些可选服务
+
+![Stack](https://github.com/user-attachments/assets/faf1112c-f0a6-4353-ba63-83abbb819c29)
+
+除了官方 Repository 外,用户也可以搭建自己的 Repository 并在此处进行配置
+
+我们也提供了其他方式供您下载相应的依赖:
+* 百度云:https://pan.baidu.com/s/162FXYsaRuwFQjrOlMuDRjg?pwd=hufb
+
+![Repository](https://github.com/user-attachments/assets/6b235122-ffdf-4d16-a4b4-994525f12d51)
+
+### 主机
+#### 新增主机
+新增主机时需要填写如下信息
+* Username:该主机上的用户
+* Authentication Method:认证方式,密码/密钥/无认证
+* Hostname:主机名,支持批量添加如 `host-0[1-2]`
+* Agent Path:Agent 安装的路径,若此处为 `/opt`,则 Agent 目录则为 `/opt/bigtop-manager-agent`
+* SSH Port:主机 SSHD 所使用的端口
+* GRPC Port:用户希望 Agent 的 gRPC 服务暴露的端口
+* Description:主机描述
+
+![Host](https://github.com/user-attachments/assets/761b9931-54f3-4309-adc0-87b611b68e7f)
+
+#### 安装依赖
+主机信息输入完成后,在进入下一步之前,用户需要安装依赖,即在对应的主机上安装 Agent 应用
+
+![Dependency](https://github.com/user-attachments/assets/0dedfbb3-dfbb-4d06-8a9c-d0e0366a1f50)
+
+且只有所有主机均安装成功时用户才可进入下一步,否则需要修复错误或者移除安装失败的主机
+
+![Host](https://github.com/user-attachments/assets/c836e570-fa6a-411f-b3b4-0efb4b55d6ef)
+
+### 创建集群
+最后等待集群创建成功即可,若失败则解决问题后重试
+
+![Create 
Cluster](https://github.com/user-attachments/assets/339a289e-c718-4953-bdb2-15232978fd49)
\ No newline at end of file
diff --git a/docs/zh/concepts.md b/docs/zh/concepts.md
new file mode 100644
index 00000000..5945489e
--- /dev/null
+++ b/docs/zh/concepts.md
@@ -0,0 +1,109 @@
+# 核心概念
+
+## 集群
+### 定义
+集群是由一组物理或虚拟主机组成的逻辑单元,用于承载大数据组件的分布式运行环境。每个集群具备独立的配置空间和资源隔离边界
+
+### 关键特性
+* **多集群管理**:单个 Server 实例可同时管理多个集群(如生产集群、测试集群等)
+* **主机绑定规则**:每个 Host 仅能归属一个集群
+
+## 组件栈
+### 组件栈(Stack)
+#### 定义
+预定义的标准化服务集合,包含安装脚本、配置模板及依赖关系描述
+
+#### 组件栈列表
+| 组件栈        | 描述                                        |
+|------------|-------------------------------------------|
+| **Infra**  | 所有集群共享的服务,比如监控系统 Prometheus               |
+| **Bigtop** | Apache Bigtop 提供的服务,如 Hadoop/Hive/Spark 等 |
+| **Extra**  | 社区提供或自定义服务,如 SeaTunnel                    |
+
+### 服务(Service)
+#### 定义
+运行在集群上的服务单元,代表具体的大数据服务(如 Hadoop/Hive/Spark 等)
+
+#### 管理维度
+##### 配置管理
+* **快照机制**:支持配置快照拍摄及管理
+* **模板引擎**:使用 Freemarker 语法动态渲染配置文件
+
+#### 状态监控
+* **心跳机制**:Agent 每 30 秒上报服务健康状态
+
+### 组件(Component)
+#### 定义
+服务内部的运行实例,对应具体进程或功能模块。组件级别的操作(启动/停止等)由 Agent 执行。
+
+#### 组件示例
+```mermaid
+graph TB
+Hadoop-->NameNode
+Hadoop-->DataNode
+Hadoop-->ResourceManager
+Kafka-->KB[Kafka Broker]
+Solr-->SI[Solr Instance]
+SeaTunnel-->SM[SeaTunnel Master]
+SeaTunnel-->SW[SeaTunnel Worker]
+SeaTunnel-->SL[SeaTunnel Client]
+```
+
+## 作业
+### 作业(Job)
+#### 定义
+用户发起的最小可调度单元,代表一个完整的运维操作目标。例如:
+`启动 Hadoop 服务`、`更新 Spark 配置并重启` 等
+
+#### 特性
+* **原子性**:Job 执行结果仅有成功/失败两种状态
+* **操作域**:作用于单个集群
+* **生命周期**:从创建到状态终态变更形成完整操作轨迹
+
+### 阶段(Stage)
+#### 定义
+作业(Job)分解后的逻辑执行单元,对应服务组件的独立操作步骤。例如:
+`启动 Hadoop` Job → `启动 NameNode` Stage、`启动 DataNode` Stage 等
+
+#### 划分原则
+* **服务依赖**:存在启动顺序约束的组件需拆分为独立 Stage(如 NameNode 需早于 DataNode 启动)
+* **资源隔离**:不同组件类别的操作需隔离执行
+* **并行度控制**:允许同一 Stage 内 Task 并行执行
+
+### 任务(Task)
+#### 定义
+阶段(Stage)在具体主机上的执行实例,代表最小粒度的操作指令。例如:
+`启动 NameNode` Stage → `启动 host-01 上的 NameNode` Task、`启动 host-02 上的 NameNode` 
Task
+
+### 作业调度流程
+#### Job 生成 Stages 及 Tasks
+用户通过 REST API 提交操作请求后:
+* Server 解析请求并校验请求合法性
+* 根据组件依赖关系生成 Stage DAG
+* 为每个 Stage 生成主机级别的 Task 集合
+* 持久化 Job/Stage/Task 元数据至数据库(状态初始化为 `PENDING`)
+
+#### Stage 调度阶段
+调度器按 DAG 顺序执行 Stage:
+* 检查前置 Stage 状态(仅当前置 Stage 全部成功时触发)
+* 提取 Stage 中的 Task 集合
+* 将 Task 批量推送至对应主机上交由 Agent 执行
+
+#### Task 执行阶段
+Agent 接收 Task 后的处理流程:
+* **资源预检**:验证目标组件安装状态与依赖项
+* **脚本执行**:调用 Stack 中预定义的组件操作脚本
+* **状态回传**:实时写入任务日志并更新 Task 状态至 Server
+
+执行保障机制:
+* **超时熔断**:单个 Task 执行超时(默认 30 分钟)自动标记失败
+* **重试策略**:网络异常类失败可自动重试(最大 3 次)
+* **幂等设计**:重复执行已成功 Task 不会引发副作用
+
+#### 状态管理机制
+| 状态类型              | 触发条件                       | 处理策略   |
+|-------------------|----------------------------|--------|
+| PENDING           | 任务创建未调度                    | 等待调用   |
+| RUNNING           | 任务执行中                      | 监听超时阈值 |
+| SUCCESSFUL/FAILED | 任务执行结果                     | 更新组件状态 |
+| CANCELED          | 该任务被取消(仅 Stage/Task 存在该状态) | 取消后续任务 |
\ No newline at end of file
diff --git a/docs/zh/contribution.md b/docs/zh/contribution.md
new file mode 100644
index 00000000..248edefd
--- /dev/null
+++ b/docs/zh/contribution.md
@@ -0,0 +1,126 @@
+# 开发环境搭建
+## 前置条件
+### 前端
+* Vue: 3.4.x
+* Vite: 5.x
+* NodeJS: v18.x
+* Pnpm: v8.x
+* 组件库: Ant Design Vue 4.x
+
+### 后端
+* Git: 任意版本
+* JDK: JDK17 或以上
+* Database: Postgres(16+) 或 MySQL(8+)
+* Maven: 推荐使用3.8以上版本
+* 开发工具: Intellij IDEA
+
+## 设置
+### 获取代码
+首先,您需要通过以下命令从 Github 中拉取 Bigtop Manager 源码:
+
+`git clone [email protected]:apache/bigtop-manager.git`
+
+### 编译
+获取代码后,部分依赖需要先编译项目才能使用,否则会报错,请运行以下命令:
+
+`./mvnw clean install -DskipTests`
+
+### 初始化
+首先您需要初始化您的数据库,数据库文件在 `bigtop-manager-server/src/main/resources/ddl/` 
目录下,请使用对应的脚本来初始化您的数据库,目前仅支持 `Postgres` 以及 `MySQL`
+
+并且在 `bigtop-manager-server/src/main/resources/application.yml` 文件中修改您的数据库信息
+
+### 开发
+在编译完项目后您就可以开始开发了
+
+针对 Java 项目,直接使用 Intellij IDEA 的 `Debug` 能力即可
+
+针对 Vue 项目,请运行如下命令:
+
+```
+cd bigtop-manager-ui
+pnpm dev
+```
+
+然后使用浏览器访问 `localhost:5173` 即可,接下来就请尽情享受您的开发之旅吧!
+
+### 开发模式
+为降低大数据组件开发环境依赖复杂度,我们支持了开发模式:
+
+#### 环境解耦设计
+传统部署要求开发者搭建完整 Linux 服务集群,存在以下痛点:
+* 环境配置复杂度高,提升了开发门槛
+* 非组件问题(如调度问题等)易导致开发受阻
+
+#### 轻量化调试机制
+通过`DEV_MODE=true`环境变量激活开发模式,实现:
+* **Mock 组件操作**:Agent 自动拦截组件调用,返回预设成功状态
+* **跨平台支持**:完整兼容 Windows/MacOS/Linux 开发环境(推荐 IntelliJ IDEA)
+
+#### 快速启用
+用户通过以下方式即可启用:
+![DEV_MODE](https://github.com/user-attachments/assets/d0e59fad-4287-4be5-a57c-d5c656e0dbb2)
+
+# 模块及功能
+| 模块                        | 介绍                                              
| 
+|---------------------------|-------------------------------------------------|
+| **bigtop-manager-agent**  | 会被安装到每台主机上,对每台主机上的服务进行管理                        |
+| **bigtop-manager-ai**     | 包含一些 AI 助手相关的代码                                 |
+| **bigtop-manager-bom**    | 定义了项目中所有依赖及其版本                                  |
+| **bigtop-manager-common** | 一些公共工具类                                         |
+| **bigtop-manager-dao**    | 与数据库进行交互                                        |
+| **bigtop-manager-dist**   | 打包后的内容会放在该模块下,包括 `Server` 和 `Agent` 的 tar 包     |
+| **bigtop-manager-grpc**   | Server 应用与 Agent 应用通过 gRPC 交互,该模块包含所有 gRPC 服务定义 |
+| **bigtop-manager-server** | 管理端的主要代码                                        |
+| **bigtop-manager-stack**  | 包含各个组件栈中的组件及其操作脚本                               |
+| **bigtop-manager-ui**     | 前端代码                                            |
+
+# 贡献流程
+## 代码规范
+我们需要保证我们的代码格式符合要求
+
+Java:
+```
+./mvnw clean spotless:apply
+```
+
+Vue:
+```
+cd bigtop-manager-ui
+pnpm prettier
+```
+
+## 单元测试
+在提交代码前,请确保所有单测均通过
+
+Java:
+```
+./mvnw clean test -Dskip.pnpm -Dskip.installnodepnpm -Dskip.pnpm.test
+```
+
+Vue:
+```
+./mvnw -pl bigtop-manager-ui test
+```
+
+## 创建 Issue
+1、首先进入 Apache Jira 中的 [Bigtop](https://issues.apache.org/jira/projects/BIGTOP) 
项目
+
+2、创建 Issue
+
+3、确保 Issue 的 Summary 是英文描述,如果可以的话请将细节写到 Description 下,也需要使用英文
+
+4、如果是给 Bigtop Manager 提交项目,点击 Components 选项,选中 bigtop-manager,并且 Fix Version 
也需要选择对应的版本,Bigtop Manager 以 bm- 开头,如 bm-1.0.0 代表这个 issue 将在 Bigtop Manager 
1.0.0 版本修复。Affects Version 可选,规则同上
+
+## 提交代码
+1、获取 Issue 编号,编号可从 Jira 页面或者 URL 中获取,如当前的 URL 为: 
[https://issues.apache.org/jira/browse/BIGTOP-4162](https://issues.apache.org/jira/browse/BIGTOP-4162),则编号为
 BIGTOP-4162
+
+2、创建本地分支,建议一个 Issue 对应一个分支,如 `git checkout -b bigtop-4162`
+
+3、提交代码至该分支中,并且将分支推到你的 Github 上的 Fork 的仓库中
+
+4、创建 Pull Request,其中 Title 的命名规则为 `ISSUE编号: 描述`,如 `BIGTOP-4162: Add health 
check for components`,若 PR 较复杂,建议 Issue 和 PR 都编写 Description 来解释具体用途
+
+5、确保 Github CI 均通过,若有一个失败则 PR 将不会被 Review
+
+6、CI 正常后等待 Maintainer Review 你的 PR,若有 Comment 请及时处理,Review 通过后即可被合并
\ No newline at end of file
diff --git a/docs/zh/deploy.md b/docs/zh/deploy.md
new file mode 100644
index 00000000..44b76c32
--- /dev/null
+++ b/docs/zh/deploy.md
@@ -0,0 +1,81 @@
+# 安装与启动
+## 安装包部署
+```bash
+# 解压安装包(注意正确解压参数)
+tar zxvf apache-bigtop-manager-1.0.0-SNAPSHOT-server.tar.gz -C /opt
+
+# 进入部署目录
+cd /opt/bigtop-manager-server
+```
+
+## 配置文件修改
+```bash
+# 进入部署目录
+cd /opt/bigtop-manager-server
+
+# 修改配置文件(替换所有占位符)
+sed -e "s|org.postgresql.Driver|com.mysql.cj.jdbc.Driver|g" \
+    -e "s|jdbc:postgresql://localhost:5432|jdbc:mysql://YOUR_MYSQL_IP:3306|g" \
+    -e "s|username: postgres|username: YOUR_USER_NAME|g" \
+    -e "s|password: postgres|password: YOUR_PASSWORD|g" \
+    -i.bak conf/application.yml  # 自动生成备份文件
+```
+
+### 服务端口配置(可选)
+```yaml
+# conf/application.yml 末尾添加
+server:
+  port: 8080  # 修改为实际需要的端口,默认为8080
+```
+
+## 创建MySQL用户及授权
+```sql
+-- 创建数据库(若需降低密码策略可先执行第二行)
+CREATE DATABASE bigtop_manager;
+-- SET GLOBAL validate_password_policy = LOW;  -- 测试环境可临时降低密码策略
+
+-- 创建用户(替换YOUR_USER_NAME/YOUR_IP/YOUR_PASSWORD)
+CREATE USER 'YOUR_USER_NAME'@'YOUR_IP' IDENTIFIED BY 'YOUR_PASSWORD';
+
+-- 授权(建议根据实际需求缩小权限范围)
+GRANT ALL PRIVILEGES ON bigtop_manager.* TO 'YOUR_USER_NAME'@'YOUR_IP';
+FLUSH PRIVILEGES;
+```
+
+## 数据库初始化
+```bash
+# 进入部署目录
+cd /opt/bigtop-manager-server
+
+# 执行DDL脚本(注意密码参数格式)
+mysql -h YOUR_MYSQL_IP -P 3306 -u YOUR_USER_NAME -pYOUR_PASSWORD < 
ddl/MySQL-DDL-CREATE.sql
+```
+
+## 下载MySQL驱动
+```bash
+# 进入部署目录
+cd /opt/bigtop-manager-server
+
+# 或官方源
+wget 
https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.0.33/mysql-connector-j-8.0.33.jar
 -O libs/mysql-connector-j-8.0.33.jar
+
+# 如果你在中国大陆(推荐阿里云镜像)
+wget 
https://maven.aliyun.com/repository/central/com/mysql/mysql-connector-j/8.0.33/mysql-connector-j-8.0.33.jar
 -O libs/mysql-connector-j-8.0.33.jar
+```
+
+## 启动服务
+```bash
+# 进入部署目录
+cd /opt/bigtop-manager-server
+
+# 启动服务
+./bin/start.sh
+
+# 或者在后台启动服务
+nohup bin/start.sh > /dev/null 2>&1 &
+```
+
+## 访问管理页面
+* 地址:`http://YOUR_IP:8080/`
+* 用户名:`admin`
+* 密码:`admin`
\ No newline at end of file
diff --git a/docs/zh/prepare.md b/docs/zh/prepare.md
new file mode 100644
index 00000000..d9780f8c
--- /dev/null
+++ b/docs/zh/prepare.md
@@ -0,0 +1,149 @@
+# 环境准备
+## 操作系统准备
+### 系统要求
+支持架构
+* `x86_64`
+* `aarch64`
+
+已验证发行版
+* `Rocky Linux 8.10`
+* `Anolis OS 8.10`
+* `openEuler 24.03`
+
+文件系统
+* `ext4` 
+* `xfs`
+
+## JDK 版本
+`JDK` 版本需要`≥ 17`,例如 `JDK17` 或者 `JDK21`,建议使用LTS版本。
+
+## 数据库选型
+支持的数据库
+* `MySQL`
+* `PostgreSQL`
+
+推荐版本
+* `MySQL` 8.0+
+* `PostgreSQL` 16.4+
+
+## 项目构建
+```bash
+git clone https://github.com/apache/bigtop-manager.git
+cd bigtop-manager
+mvn clean package -DskipTests
+```
+
+## 系统安全配置
+### 检测和关闭系统防火墙
+如果发现端口不通,可以试着关闭防火墙,确认是否是本机防火墙造成。如果是防火墙造成,可以根据配置的 bigtop-manager 各组件端口打开相应的端口通信。
+
+```bash
+sudo systemctl stop firewalld.service
+sudo systemctl disable firewalld.service
+```
+
+### 配置时间同步服务
+所有集群机器要进行时钟同步,避免因为时钟问题引发的元数据不一致导致服务出现异常。
+
+#### NTP
+```bash
+sudo systemctl start ntpd.service
+sudo systemctl enable ntpd.service
+```
+
+#### Chrony
+```bash
+sudo systemctl start chronyd.service
+sudo systemctl enable chronyd.service
+```
+
+## Hosts 配置
+```bash
+# 设置主机名
+hostnamectl set-hostname your-host-name
+
+# 统一集群 Hosts
+echo "10.10.0.101 bm1" | sudo tee -a /etc/hosts
+echo "10.10.0.102 bm2" | sudo tee -a /etc/hosts
+echo "10.10.0.103 bm3" | sudo tee -a /etc/hosts
+```
+
+## 系统参数调优
+### 资源限制配置
+```bash
+cat >> /etc/security/limits.conf << EOF
+*            soft    fsize           unlimited
+*            hard    fsize           unlimited
+*            soft    cpu             unlimited
+*            hard    cpu             unlimited
+*            soft    as              unlimited
+*            hard    as              unlimited
+*            soft    nofile          1048576
+*            hard    nofile          1048576
+*            soft    nproc           unlimited
+*            hard    nproc           unlimited
+EOF
+```
+
+验证
+```base
+ulimit -a
+```
+
+### 内存参数优化
+#### 禁用透明大页
+```bash
+echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
+echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag
+```
+
+#### 调整swappiness
+```bash
+sysctl vm.swappiness=1
+swapoff -a
+```
+
+#### 验证参数
+```bash
+cat /sys/kernel/mm/transparent_hugepage/enabled
+cat /sys/kernel/mm/transparent_hugepage/defrag
+
+free -h | grep Swap
+sysctl vm.swappiness
+```
+
+#### 配置持久化
+```bash
+# 关闭透明大页
+cat >> /etc/rc.d/rc.local << EOF
+if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
+  echo never > /sys/kernel/mm/transparent_hugepage/enabled
+fi
+if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
+  echo never > /sys/kernel/mm/transparent_hugepage/defrag
+fi
+EOF
+chmod +x /etc/rc.d/rc.local
+
+# 设置 swappiness
+echo 'vm.swappiness=1' | sudo tee -a /etc/sysctl.conf
+```
+
+## SSH 配置
+### 生成密钥
+生成ssh秘钥后分发秘钥,也可以在安装后在管理界面配置账密连接。
+
+```bash
+# 生成密钥(在主节点上运行一次)
+ssh-keygen -N '' -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key
+ssh-keygen -N '' -t ecdsa -b 256 -f /etc/ssh/ssh_host_ecdsa_key
+ssh-keygen -N '' -t ed25519 -b 256 -f /etc/ssh/ssh_host_ed25519_key
+```
+
+### 分发密钥(可选)
+```bash
+# 替换YOU_KEY.pub为你上方生成的
+for node in bm{1..3}; do
+  ssh-copy-id -i ~/.ssh/YOU_KEY.pub $node
+done
+```
\ No newline at end of file
diff --git a/docs/zh/service.md b/docs/zh/service.md
new file mode 100644
index 00000000..d352e45f
--- /dev/null
+++ b/docs/zh/service.md
@@ -0,0 +1,40 @@
+# 服务
+## 新增服务
+本节我们来描述如何新增服务
+
+首先需要明确的是,Infra Stack 服务和 Bigtop/Extra Stack 服务的安装入口不同,Infra Stack 服务的安装入口在 
Infrastructure 中
+
+![Infrastructure](https://github.com/user-attachments/assets/d4c8e62a-c704-4ab9-90f1-49a661dda951)
+
+而 Bigtop/Extra Stack 服务的安装入口在集群中
+
+![Cluster](https://github.com/user-attachments/assets/41a5ba8a-6a0e-457d-a249-674ebc139ac2)
+
+不同的入口你看到的服务也会不同,后面我将以 Bigtop Stack 中的 ZooKeeper 服务为例来讲解
+
+### 选择服务
+在这个页面中,用户可以选择自己想要安装的服务,其中每个服务的右上角有 License 标识
+* **绿色**:表明该 License 与 Apache License 兼容
+* **红色**:表明该 License 与 Apache License 不兼容,对应服务在安装时默认通过官方服务器下载,用户配置的 Repository 
无效,目前不兼容的服务有 Infra Stack 中的 MySQL 与 Grafana。
+
+![Service](https://github.com/user-attachments/assets/0b6a9dfc-e4c4-48f2-8ca4-8b31ba558578)
+
+### 分配组件
+用户需要对组件进行主机分配,左侧切换组件
+
+![Component](https://github.com/user-attachments/assets/a436966f-6cc0-4c80-84ab-310e65fe9948)
+
+### 配置服务
+用户可在此处对服务配置进行更改
+
+![Configure](https://github.com/user-attachments/assets/aac410c4-335c-4461-92f6-4af711547717)
+
+### 服务总览
+用户可确定对应的组件与配置是否正确,若不正确则退到前一步进行更改
+
+![Overview](https://github.com/user-attachments/assets/4bcbaea7-ddfb-4ee5-9bee-faea48216cab)
+
+### 安装服务
+最后用户只需等待服务添加完成即可,若失败则解决问题后重试
+
+![Add 
Service](https://github.com/user-attachments/assets/0258888c-f7c5-40ba-9cba-dd73e492e919)
\ No newline at end of file

Reply via email to