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

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


The following commit(s) were added to refs/heads/master by this push:
     new 53e52922 Update deployment Chinese doc (#63)
53e52922 is described below

commit 53e529222a0dca24023bf9773d3035e27c9776d9
Author: Yingchun Lai <[email protected]>
AuthorDate: Tue Jan 23 14:25:52 2024 +0800

    Update deployment Chinese doc (#63)
---
 _docs/zh/administration/deployment.md | 125 +++++++++++++++++-----------------
 1 file changed, 62 insertions(+), 63 deletions(-)

diff --git a/_docs/zh/administration/deployment.md 
b/_docs/zh/administration/deployment.md
old mode 100755
new mode 100644
index e7fe1cbd..b6feb120
--- a/_docs/zh/administration/deployment.md
+++ b/_docs/zh/administration/deployment.md
@@ -2,119 +2,118 @@
 permalink: administration/deployment
 ---
 
-## 准备机器
-Pegasus分布式集群至少需要准备这些机器:
-* MetaServer:2~3台机器,无需SSD盘。
-* ReplicaServer:至少3台机器,建议挂SSD盘。譬如一台服务器挂着8块或者12块SSD盘。这些机器要求是同构的,即具有相同的配置。
-* Collector:可选角色,1台机器,无需SSD盘。该进程主要用于收集和汇总集群的统计信息,负载很小,建议放在MetaServer的其中一台机器上。
-
-## 准备Zookeeper
-Pegasus集群依赖Zookeeper进行元数据存储和MetaServer抢锁,因此需要一个Zookeeper服务:
-* 如果在公司内部维护着Zookeeper集群,直接使用该集群就可以了。
-* 如果没有,就自己搭建一个Zookeeper集群,建议在Pegasus集群机器所在的同机房搭建。
-
-记下Zookeeper的服务地址列表,后面配置文件要用。
-
-## 准备配置文件
-我们提供了配置文件[src/server/config.ini](https://github.com/apache/incubator-pegasus/blob/master/src/server/config.ini)(从1.7.1版本开始支持),你需要修改该文件,替换所有``%{xxx}``形式的变量为合适的值,如下:
-
-| 变量  | 说明 | 示例 | 
-| ------------- | ------------- | ------------- |
-| %{cluster.name}  | 集群名称。  | my_cluster  |
-| %{home.dir}  | HOME路径。  | /home/work  |
-| %{app.dir}  | 程序工作路径,默认数据文件和日志文件都会放在这下面。  | /home/work/app/pegasus  |
-| %{slog.dir}  | 存放Shared Commit 
Log文件的路径,建议放在一个独享的SSD盘上。如果没有可用的SSD盘,可以设置为空字符串,表示默认使用%{app.dir}。  | 
/home/work/ssd1/pegasus  |
-| %{data.dirs}  | 
存放各Replica数据的路径列表,可以用逗号分隔指定多个盘,每个路径需要指定一个名称,格式为``name1:path1,name2:path2``。如果没有可用的独立SSD盘,可以设置为空字符串,表示默认使用%{app.dir}。
  | ssd2:/home/work/ssd2/pegasus |
-| %{meta.server.list}  | 
MetaServer地址列表,用逗号分隔,格式为``ip1:port1,ip2:port2``。**注意只能用IP地址,不能用hostname**。  | 
1.2.3.4:34601,1.2.3.5:34601  |
-| %{zk.server.list}  | Zookeeper地址列表,用逗号分隔,格式为``ip1:port1,ip2:port2``。  | 
1.2.3.4:2181,1.2.3.5:2181  |
-
-注意:同一个变量可能出现在多个地方,要保证所有的``%{xxx}``变量都被替换掉。
-
-### 多个SSD盘如何配置
-如果有多个SSD盘,推荐使用一个SSD盘专门用于shared log,其他盘用于存储replica数据。
-
-譬如,假设机器有4个盘,挂载路径为/home/work/ssd{id},其中{id}=1,2,3,4。那么可以将ssd1用于shared log,可配置如下:
+# 准备服务器
+
+Pegasus 分布式集群至少需要准备这些服务器:
+* MetaServer:2~3 台服务器,无需 SSD 盘。
+* ReplicaServer:至少 3 台服务器,建议挂载 SSD 盘。多块磁盘能够提升节点的吞吐能力,各台服务器挂载相同数量和性能的磁盘来保证负载均衡。
+* Collector:可选角色,1 台服务器,无需 SSD 盘。该进程主要用于收集和汇总集群的统计信息,负载很小,建议放在 MetaServer 
的其中一台服务器上。
+
+# 准备 Zookeeper
+
+Pegasus 集群依赖 Zookeeper 进行元数据存储和 MetaServer 抢锁,因此需要一个 Zookeeper 服务。
+* 建议在 Pegasus 集群服务器所在的同机房搭建。
+
+记下 Zookeeper 的服务地址列表,后面配置文件要用。
+
+# 准备配置文件
+
+从 1.7.1 版本开始,Pegasus 提供了配置文件 
[src/server/config.ini](https://github.com/apache/incubator-pegasus/blob/master/src/server/config.ini),你需要修改该文件,替换所有
 `%{xxx}` 形式的变量为合适的值。如下:
+
+| 变量                 | 说明                                                      
                                                                                
      | 示例                                                      | 
+|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------|
+| %{cluster.name}     | 集群名称。会用于 collector 的指标上报标签等                            
                                                                              | 
my_cluster                                                |
+| %{home.dir}         | Pegasus 主路径。会存放全局的配置文件,如磁盘黑名单配置文件                      
                                                                         | 
/home/work                                                |
+| %{app.dir}          | 程序工作路径。默认数据文件和日志文件都会放在这里                               
                                                                          | 
/home/work/app/pegasus                                    |
+| %{slog.dir}         | 存放 Shared Commit Log 文件的路径,建议放在一个独享的 SSD 盘上。如果没有可用的 
SSD 盘,可以设置为空字符串,表示默认使用 %{app.dir}。2.6 版本之后已废弃              | 
/home/work/ssd1/pegasus                                   |
+| %{data.dirs}        | 存放用户数据的路径列表,用逗号分隔。每个路径需要指定一个名称,格式为 
`name1:path1,name2:path2`。如果没有可用的独立 SSD 盘,可以设置为空字符串,表示默认使用 %{app.dir} | 
ssd2:/home/work/ssd2/pegasus,ssd3:/home/work/ssd3/pegasus |
+| %{meta.server.list} | MetaServer 地址列表,用逗号分隔。格式为 `ip1:port1,ip2:port2`。** 
注意只能用 IP 地址,不能用 hostname**                                                   | 
1.2.3.4:34601,1.2.3.5:34601                               |
+| %{zk.server.list}   | Zookeeper 地址列表,用逗号分隔。格式为 `ip1:port1,ip2:port2`         
                                                                                
 | 1.2.3.4:2181,1.2.3.5:2181                                 |
+
+> 配置的含义请参考 [配置说明](/administration/config)。
+
+> 注意:同一个变量可能出现在多个地方,要保证所有的 ``%{xxx}`` 变量都被替换掉。
+
+## 多个 SSD 盘如何配置
+
+如果有多个 SSD 盘,推荐使用一个 SSD 盘专门用于 slog,其他盘用于存储 replica 数据。
+
+譬如,假设服务器有 4 个盘,挂载路径为 /home/work/ssd{id},其中 {id}=1,2,3,4。那么可以将 ssd1 用于 shared 
log,可配置如下:
 ```ini
 [replication]
   slog_dir = /home/work/ssd1/pegasus
   data_dirs = 
ssd2:/home/work/ssd2/pegasus,ssd3:/home/work/ssd3/pegasus,ssd4:/home/work/ssd4/pegasus
 ```
-
-如果只有一个SSD盘,那么就没得选择,只能都用这一个盘。假设SSD盘挂载路径为/home/work/ssd,可配置如下:
+如果只有一个 SSD 盘,那么就只能将 slog 和 data 共享这一块盘。假设 SSD 盘挂载路径为 /home/work/ssd,可配置如下:
 ```ini
 [replication]
   slog_dir = /home/work/ssd/pegasus/{cluster.name}
   data_dirs = ssd:/home/work/ssd/pegasus/{cluster.name}
 ```
 
-### 多个网卡如何配置
-在配置文件中有以下section:
+## 多个网卡如何配置
+
+在配置文件中有以下 section:
 ```ini
 [network]
   primary_interface =
-  io_service_worker_count = 4
 ```
 
-通过primary_interface指定网卡:
-* 
如果只有一个网卡,可以设置为空字符串,表示自动获取合适的网卡地址。具体策略就是在ifconfig的列表中查找第一个符合10.\*.\*.\*/172.16.\*.\*/192.168.\*.\*的地址,这样就会忽略回环地址和虚拟地址。
-* 如果有多个网卡,请指定网卡名。如果不指定,则会获取第一个符合10.\*.\*.\*/172.16.\*.\*/192.168.\*.\*的地址。
+通过 `primary_interface` 指定网卡:
+* 如果只有一块网卡,可以设置为空字符串,表示自动获取合适的网卡地址。具体策略就是在 `ifconfig` 命令的输出列表中,查找第一个符合 
`10.\*.\*.\*/172.16.\*.\*/192.168.\*.\*` 规则的地址(即内网地址),这样就会忽略回环地址和虚拟地址。
+* 如果有多个网卡,请指定网卡名。如果不指定,则会获取第一个符合 `10.\*.\*.\*/172.16.\*.\*/192.168.\*.\*` 
规则的地址。
 
-譬如,如果有多个网卡,想使用eth2所在网卡,可配置如下:
+譬如,如果有多个网卡,想使用 eth2 所在网卡,可配置如下:
 ```ini
 [network]
   primary_interface = eth2
-  io_service_worker_count = 4
 ```
 
-## 准备部署包
-ReplicaServer/MetaServer/Collector三种角色的Server共用一套server程序和配置文件。
+# 准备部署包
+
+ReplicaServer,MetaServer,Collector 三种角色共用一套二进制程序和配置文件。
 
-首先[编译Pegasus](/overview/compilation),编译完成后运行以下命令可以打包生产server端部署包:
+首先 [编译 Pegasus](/overview/compilation),编译完成后运行以下命令可以打包生成 server 端部署包:
 ```
 ./run.sh pack_server
 ```
-运行成功后,会在本地文件夹下生产``pegasus-server-{version}-{platform}-{buildType}``的文件夹以及tar.gz包。在文件夹里面有个bin/文件夹,里面包含pegasus_server程序及依赖库,还包括**刚刚修改好的config.ini文件**。
+运行成功后,会在本地文件夹下产生 `pegasus-server-{version}-{gitSHA}-{platform}-{buildType}` 
的目录以及 tar.gz 包。其中有个 `bin/` 目录,里面包含 pegasus_server 程序及依赖库,还包括 ** 刚刚修改好的 
config.ini 文件 **。
 
-将部署tar.gz包拷贝到各个机器上,并解压。你可以使用合适的分布式分发工具来完成这件事情。
+将 tar.gz 包拷贝到需要部署的服务器上并解压。你可以使用合适的分布式分发工具来完成这件事情。
 
-## 启动服务
+# 启动服务
 
-在启动程序之前,需要先把程序所依赖的动态链接库的路径加入到`LD_LIBRARY_PATH`中:
+在启动程序之前,需要先把程序所依赖的动态链接库的路径加入到 `LD_LIBRARY_PATH` 中:
 ```
 export LD_LIBRARY_PATH=/path/to/your/pegasus/bin:$LD_LIBRARY_PATH
 ```
 
-启动MetaServer:
+## 启动 MetaServer:
 ```
 cd bin/
 ./pegasus_server config.ini -app_list meta
 ```
 
-启动ReplicaServer:
+## 启动 ReplicaServer:
 ```
 cd bin/
 ./pegasus_server config.ini -app_list replica
 ```
 
-启动Collector:
+## 启动 Collector:
 ```
 cd bin/
 ./pegasus_server config.ini -app_list collector
 ```
 
-集群启动成功后,会默认创建一个``temp``表,该表也用于Collector的集群可用度检查,最好不要删除。
+集群启动成功后,会默认创建一个 `temp` 表,该表也用于 Collector 的集群可用度检查,最好不要删除。
 
-你可以使用[Shell工具](/overview/shell)查看集群的各种状态。如果启动失败,可以到``%{app.dir}/log``下面查看错误日志,排查问题。
-
-# 分布式部署工具
-
-## Minos部署
-
-我们在小米内部使用Minos工具部署,该工具也已经开源,参见[XiaoMi/minos](https://github.com/XiaoMi/minos)。Minos工具能够基于配置模板动态生成合适的配置文件,操作简单,推荐使用。关于如何使用Minos的流程与细节,后续会补充相关文档。
+你可以使用 [Shell 工具](/overview/shell) 查看集群的各种状态。如果启动失败,可以到 `%{app.dir}/log` 
内查看日志,排查问题。
 
 # 常见问题
 
 ## 集群清理重建
-如果想完全重新部署集群,**以前的数据都不要了**,需要清理以下环境,否则可能出现启动新集群失败的情况:
-* 
清理MetaServer/ReplicaServer/Collector的```%{app.dir}```、```%{slog.dir}```和```%{data.dirs}```文件夹
-* 删除Zookeeper的```/pegasus/%{cluster.name}```节点
+
+如果想完全重新部署集群,**并清理所有数据**,需要清理以下环境,否则可能会出现启动新集群失败的问题:
+* 清理 MetaServer,ReplicaServer 和 Collector 的 `%{app.dir}`,`%{slog.dir}` 和 
`%{data.dirs}` 目录
+* 删除 Zookeeper 的 `/pegasus/%{cluster.name}` 节点


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

Reply via email to