acelyc111 commented on code in PR #62:
URL: 
https://github.com/apache/incubator-pegasus-website/pull/62#discussion_r1460826021


##########
_docs/zh/administration/manual-compact.md:
##########
@@ -79,19 +79,21 @@ virtual Status CompactRange(const CompactRangeOptions& 
options,
   worker_priority = THREAD_xPRIORITY_NORMAL
   worker_count = 16
   ```
-* Manual 
Compact属于CPU和IO密集型操作,处理过程中会使CPU使用率长期处于高位,容易对集群的读写性能造成影响,所以**建议在流量低峰时段进行操作**。如果启动后发现读写性能下降影响了业务,可以立即通过设置该表的环境变量`manual_compact.disabled=true`来中止。
-* Manual 
Compact过程中可能需要较多的额外磁盘空间。因为compaction前后文件变化较大,而Pegasus一般又会保留最近3个版本的checkpoint,所以基本上额外需要的磁盘空间量大约等于执行Manual
 Compact的表的数据存储量。所以,在执行Manual 
Compact前需**确认集群有足够的存储空间**,同时在执行过程中**关注磁盘空间使用情况**,避免因为磁盘空间耗尽导致集群节点宕机,影响集群可用度。
+* Manual Compact 属于 CPU 和 IO 密集型操作,处理过程中会使 CPU 使用率长期处于高位,容易对集群的读写性能造成影响,所以 ** 
建议在流量低峰时段进行操作 **。如果启动后发现读写性能下降影响了业务,可以立即通过设置该表的环境变量 
`manual_compact.disabled=true` 来中止。
+* Manual Compact 过程中可能需要较多的额外磁盘空间。因为 compaction 前后文件变化较大,而 Pegasus 一般又会保留最近 3 
个版本的 checkpoint,所以基本上额外需要的磁盘空间量大约等于执行 Manual Compact 的表的数据存储量。所以,在执行 Manual 
Compact 前需 ** 确认集群有足够的存储空间 **,同时在执行过程中 ** 关注磁盘空间使用情况 
**,避免因为磁盘空间耗尽导致集群节点宕机,影响集群可用度。
+
+
 
 # 如何设置
 
-## 通过shell设置
+## 通过 shell 设置

Review Comment:
   ```suggestion
   ## 通过 Pegasus shell 工具设置
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -49,28 +49,28 @@ virtual Status CompactRange(const CompactRangeOptions& 
options,
                             const Slice* begin, const Slice* end) = 0;
 ```
 
-对应地,Pegasus对该功能在上层进行了封装,提供了表级别的Manual Compact功能,其作用是:
-* 通过compaction去掉垃圾数据,减少数据量,降低文件层数,提升读操作的性能。
-* 对最高层做compaction,可以清理掉Delete标记数据。
-* 配合[Usage Scenario功能](usage-scenario)中表的bulk_load模式,可以在灌数据完成后执行一次Manual 
Compact,去除垃圾数据,整理数据和文件夹结构,提升读性能。
+对应地,Pegasus 对该功能在上层进行了封装,提供了表级别的 Manual Compact 功能,其作用是:
+* 通过 compaction 去掉垃圾数据,减少数据量,降低文件层数,提升读操作的性能。
+* 对最高层做 compaction,可以清理掉 Delete 标记数据。
+* 配合 [Usage Scenario 功能](usage-scenario) 中表的 bulk_load 模式,可以在灌数据完成后执行一次 Manual 
Compact,去除垃圾数据,整理数据和文件夹结构,提升读性能。
 
 实现方式:
-* 扩展RocksDB,在Manifest中记录上一次执行Manual 
Compact的时间,并提供`GetLastManualCompactFinishTime()`方法来获取该时间。
-* 利用[Table环境变量](table-env),来设置两类Manual Compect的环境变量:
-  * 单次Manual Compact:
-    * `manual_compact.once.trigger_time`:格式为Unix时间戳的秒数,可通过shell命令`date 
+%s`获取当前时间戳。如果LastManualCompactFinishTime旧于该trigger_time,就触发Manual 
Compaction的执行。
-    * 
`manual_compact.once.target_level`:用于设置`CompactRangeOptions::target_level`。如果不设置,则使用默认值-1。
-    * 
`manual_compact.once.bottommost_level_compaction`:可设置为`skip`或者`force`。如果是`skip`,则不对最高层做compaction;如果是`force`,则强制对最高层做compaction。如果不设置,则默认为`skip`。
-  * 周期Manual Compact:
-    * 
`manual_compact.periodic.trigger_time`:格式为逗号分隔的时钟,譬如`3:00,21:00`,表示每一天的3:00和21:00都触发一次Manual
 Compaction的执行。
-    * 
`manual_compact.periodic.target_level`:用于设置`CompactRangeOptions::target_level`。如果不设置,则使用默认值-1。
-    * 
`manual_compact.periodic.bottommost_level_compaction`:可设置为`skip`或者`force`。如果是`skip`,则不对最高层做compaction;如果是`force`,则强制对最高层做compaction。如果不设置,则默认为`skip`。
-  * Manual Compact总开关:
-    * `manual_compact.disabled`(从v1.9.0版本开始支持):如果为true,则关闭Manual 
Compact功能,并且取消正在执行中的Manual Compact动作。如果不设置,默认为false。
-    * 
`manual_compact.max_concurrent_running_count`(从v1.11.3版本开始支持):指定最大并发数。实际上,可执行的最大并发数由`该env参数`和`服务端MANUAL_COMPACT_THRAD_POOL的线程数`共同决定,取两者的较小值。
+* 扩展 RocksDB,在 Manifest 中记录上一次执行 Manual Compact 的时间,并提供 
`GetLastManualCompactFinishTime()` 方法来获取该时间。
+* 利用 [Table 环境变量](table-env),来设置两类 Manual Compect 的环境变量:
+  * 单次 Manual Compact:
+    * `manual_compact.once.trigger_time`:格式为 Unix 时间戳的秒数,可通过 shell 命令 `date 
+%s` 获取当前时间戳。如果 LastManualCompactFinishTime 旧于该 trigger_time,就触发 Manual 
Compaction 的执行。
+    * `manual_compact.once.target_level`:用于设置 
`CompactRangeOptions::target_level`。如果不设置,则使用默认值 - 1。
+    * `manual_compact.once.bottommost_level_compaction`:可设置为 `skip` 或者 
`force`。如果是 `skip`,则不对最高层做 compaction;如果是 `force`,则强制对最高层做 
compaction。如果不设置,则默认为 `skip`。
+  * 周期 Manual Compact:
+    * `manual_compact.periodic.trigger_time`:格式为逗号分隔的时钟,譬如 `3:00,21:00`,表示每一天的 
3:00 和 21:00 都触发一次 Manual Compaction 的执行。
+    * `manual_compact.periodic.target_level`:用于设置 
`CompactRangeOptions::target_level`。如果不设置,则使用默认值 - 1。

Review Comment:
   ```suggestion
       * `manual_compact.periodic.target_level`:用于设置 
`CompactRangeOptions::target_level`。如果不设置,则使用默认值 `-1`。
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -138,9 +140,57 @@ for example:
            --target_level 2 --bottommost_level_compaction force
 ```
 
-该工具不仅会调用shell命令设置Table环境变量,对于once类型还会等待所有的replica上的操作都执行完成,使用起来十分方便。
+该工具不仅会调用 shell 命令设置 Table 环境变量,对于 once 类型还会等待所有的 replica 上的操作都执行完成,使用起来十分方便。
 
-譬如,在[bulk load](usage-scenario#支持场景)完成后执行once manual compact如下:
+譬如,在 [bulk load](usage-scenario# 支持场景) 完成后执行 once manual compact 如下:

Review Comment:
   ```suggestion
   譬如,在 [bulk load](usage-scenario#支持场景) 完成后执行 once manual compact 如下:
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -138,9 +140,57 @@ for example:
            --target_level 2 --bottommost_level_compaction force
 ```
 
-该工具不仅会调用shell命令设置Table环境变量,对于once类型还会等待所有的replica上的操作都执行完成,使用起来十分方便。
+该工具不仅会调用 shell 命令设置 Table 环境变量,对于 once 类型还会等待所有的 replica 上的操作都执行完成,使用起来十分方便。
 
-譬如,在[bulk load](usage-scenario#支持场景)完成后执行once manual compact如下:
+譬如,在 [bulk load](usage-scenario# 支持场景) 完成后执行 once manual compact 如下:
 ```
 $ ./scripts/pegasus_manual_compact.sh -c 127.0.0.1:34601,127.0.0.1:34602 -a 
temp
 ```
+
+
+
+## 通过 admin-cli 设置
+
+在 **2.4.0** 之后的 pegasus 版本还支持用 admin-cli 来设置 manual compaction 
的开始并且可以方便的查看进行的进度。
+
+### 使用命令
+
+```bash
+#开始单次 manual compaction
+Pegasus-AdminCli-1.2.0 » manual-compaction start -h
+start manual compaction for a specific table
+
+Usage:
+  start [flags]
+
+Flags:
+  -b, --bottommostLevelCompaction           bottommost level files will be 
compacted or not, default value is false
+  -h, --help                                display help
+  -c, --maxConcurrentRunningCount int       max concurrent running count, 
default value is 0, no limited (default: 0)
+  -a, --tableName                 string    table name
+  -l, --targetLevel               int       compacted files move level, 
default value is -1 (default: -1)
+  
+  
+#查看 manual compaction 进度
+Pegasus-AdminCli-1.2.0 » manual-compaction query -h
+query manual compaction progress for a specific table
+
+Usage:
+  query [flags]
+
+Flags:
+  -h, --help                display help
+  -a, --tableName string    table name
+
+```
+
+
+
+## 补充说明
+
+manual compaction 常与 bulk load 功能配合使用,作为批量导入大量数据后统一优化读取的手段。在需要进行 bulk load 
操作的表中,我们常将 **Usage Scenario** 参数设置为 bulk_load 模式,以便减小增加大量数据带来的性能损耗。

Review Comment:
   Better to write the docs objectively, avoid to say "We often do ...", 
because this is an open source project, who is we?



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -138,9 +140,57 @@ for example:
            --target_level 2 --bottommost_level_compaction force
 ```
 
-该工具不仅会调用shell命令设置Table环境变量,对于once类型还会等待所有的replica上的操作都执行完成,使用起来十分方便。
+该工具不仅会调用 shell 命令设置 Table 环境变量,对于 once 类型还会等待所有的 replica 上的操作都执行完成,使用起来十分方便。
 
-譬如,在[bulk load](usage-scenario#支持场景)完成后执行once manual compact如下:
+譬如,在 [bulk load](usage-scenario# 支持场景) 完成后执行 once manual compact 如下:
 ```
 $ ./scripts/pegasus_manual_compact.sh -c 127.0.0.1:34601,127.0.0.1:34602 -a 
temp
 ```
+
+
+
+## 通过 admin-cli 设置
+
+在 **2.4.0** 之后的 pegasus 版本还支持用 admin-cli 来设置 manual compaction 
的开始并且可以方便的查看进行的进度。
+
+### 使用命令
+
+```bash
+#开始单次 manual compaction
+Pegasus-AdminCli-1.2.0 » manual-compaction start -h
+start manual compaction for a specific table
+
+Usage:
+  start [flags]
+
+Flags:
+  -b, --bottommostLevelCompaction           bottommost level files will be 
compacted or not, default value is false
+  -h, --help                                display help
+  -c, --maxConcurrentRunningCount int       max concurrent running count, 
default value is 0, no limited (default: 0)
+  -a, --tableName                 string    table name
+  -l, --targetLevel               int       compacted files move level, 
default value is -1 (default: -1)
+  
+  
+#查看 manual compaction 进度
+Pegasus-AdminCli-1.2.0 » manual-compaction query -h
+query manual compaction progress for a specific table
+
+Usage:
+  query [flags]
+
+Flags:
+  -h, --help                display help
+  -a, --tableName string    table name
+
+```
+
+
+
+## 补充说明
+
+manual compaction 常与 bulk load 功能配合使用,作为批量导入大量数据后统一优化读取的手段。在需要进行 bulk load 
操作的表中,我们常将 **Usage Scenario** 参数设置为 bulk_load 模式,以便减小增加大量数据带来的性能损耗。

Review Comment:
   ```suggestion
   Manual compaction 常与 bulk load 功能配合使用,作为批量导入大量数据后的一种优化读写性能的方式。在需要进行 bulk 
load 操作的表中,可将 [Usage Scenario](/administration/usage-scenario) 
设置为`bulk_load`模式,以便减小导入大量数据带来的性能损耗。
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -138,9 +140,57 @@ for example:
            --target_level 2 --bottommost_level_compaction force
 ```
 
-该工具不仅会调用shell命令设置Table环境变量,对于once类型还会等待所有的replica上的操作都执行完成,使用起来十分方便。
+该工具不仅会调用 shell 命令设置 Table 环境变量,对于 once 类型还会等待所有的 replica 上的操作都执行完成,使用起来十分方便。
 
-譬如,在[bulk load](usage-scenario#支持场景)完成后执行once manual compact如下:
+譬如,在 [bulk load](usage-scenario# 支持场景) 完成后执行 once manual compact 如下:
 ```
 $ ./scripts/pegasus_manual_compact.sh -c 127.0.0.1:34601,127.0.0.1:34602 -a 
temp
 ```
+
+
+
+## 通过 admin-cli 设置
+
+在 **2.4.0** 之后的 pegasus 版本还支持用 admin-cli 来设置 manual compaction 
的开始并且可以方便的查看进行的进度。

Review Comment:
   Use upper case for the first letter for "Pegasus".
   ```suggestion
   在 **2.4.0** 之后的 Pegasus 版本还支持用 admin-cli 来设置 manual compaction 
的开始并且可以方便的查看进行的进度。
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -79,19 +79,21 @@ virtual Status CompactRange(const CompactRangeOptions& 
options,
   worker_priority = THREAD_xPRIORITY_NORMAL
   worker_count = 16
   ```
-* Manual 
Compact属于CPU和IO密集型操作,处理过程中会使CPU使用率长期处于高位,容易对集群的读写性能造成影响,所以**建议在流量低峰时段进行操作**。如果启动后发现读写性能下降影响了业务,可以立即通过设置该表的环境变量`manual_compact.disabled=true`来中止。
-* Manual 
Compact过程中可能需要较多的额外磁盘空间。因为compaction前后文件变化较大,而Pegasus一般又会保留最近3个版本的checkpoint,所以基本上额外需要的磁盘空间量大约等于执行Manual
 Compact的表的数据存储量。所以,在执行Manual 
Compact前需**确认集群有足够的存储空间**,同时在执行过程中**关注磁盘空间使用情况**,避免因为磁盘空间耗尽导致集群节点宕机,影响集群可用度。
+* Manual Compact 属于 CPU 和 IO 密集型操作,处理过程中会使 CPU 使用率长期处于高位,容易对集群的读写性能造成影响,所以 ** 
建议在流量低峰时段进行操作 **。如果启动后发现读写性能下降影响了业务,可以立即通过设置该表的环境变量 
`manual_compact.disabled=true` 来中止。
+* Manual Compact 过程中可能需要较多的额外磁盘空间。因为 compaction 前后文件变化较大,而 Pegasus 一般又会保留最近 3 
个版本的 checkpoint,所以基本上额外需要的磁盘空间量大约等于执行 Manual Compact 的表的数据存储量。所以,在执行 Manual 
Compact 前需 ** 确认集群有足够的存储空间 **,同时在执行过程中 ** 关注磁盘空间使用情况 
**,避免因为磁盘空间耗尽导致集群节点宕机,影响集群可用度。

Review Comment:
   ```suggestion
   * Manual Compact 过程中可能需要较多的额外磁盘空间。因为 compaction 前后文件变化较大,而 Pegasus 
又会保留最近多个版本的 checkpoint,所以需要的额外磁盘空间量大约等于执行 Manual Compact 的表的数据存储量。所以,在执行 Manual 
Compact 前需 ** 确认集群有足够的存储空间 **,同时在执行过程中 ** 关注磁盘空间使用情况 
**,避免因为磁盘空间耗尽导致集群节点宕机,影响集群可用度。
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -138,9 +140,57 @@ for example:
            --target_level 2 --bottommost_level_compaction force
 ```
 
-该工具不仅会调用shell命令设置Table环境变量,对于once类型还会等待所有的replica上的操作都执行完成,使用起来十分方便。
+该工具不仅会调用 shell 命令设置 Table 环境变量,对于 once 类型还会等待所有的 replica 上的操作都执行完成,使用起来十分方便。
 
-譬如,在[bulk load](usage-scenario#支持场景)完成后执行once manual compact如下:
+譬如,在 [bulk load](usage-scenario# 支持场景) 完成后执行 once manual compact 如下:
 ```
 $ ./scripts/pegasus_manual_compact.sh -c 127.0.0.1:34601,127.0.0.1:34602 -a 
temp
 ```
+
+
+

Review Comment:
   ```suggestion
   
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -79,19 +79,21 @@ virtual Status CompactRange(const CompactRangeOptions& 
options,
   worker_priority = THREAD_xPRIORITY_NORMAL
   worker_count = 16
   ```
-* Manual 
Compact属于CPU和IO密集型操作,处理过程中会使CPU使用率长期处于高位,容易对集群的读写性能造成影响,所以**建议在流量低峰时段进行操作**。如果启动后发现读写性能下降影响了业务,可以立即通过设置该表的环境变量`manual_compact.disabled=true`来中止。
-* Manual 
Compact过程中可能需要较多的额外磁盘空间。因为compaction前后文件变化较大,而Pegasus一般又会保留最近3个版本的checkpoint,所以基本上额外需要的磁盘空间量大约等于执行Manual
 Compact的表的数据存储量。所以,在执行Manual 
Compact前需**确认集群有足够的存储空间**,同时在执行过程中**关注磁盘空间使用情况**,避免因为磁盘空间耗尽导致集群节点宕机,影响集群可用度。
+* Manual Compact 属于 CPU 和 IO 密集型操作,处理过程中会使 CPU 使用率长期处于高位,容易对集群的读写性能造成影响,所以 ** 
建议在流量低峰时段进行操作 **。如果启动后发现读写性能下降影响了业务,可以立即通过设置该表的环境变量 
`manual_compact.disabled=true` 来中止。
+* Manual Compact 过程中可能需要较多的额外磁盘空间。因为 compaction 前后文件变化较大,而 Pegasus 一般又会保留最近 3 
个版本的 checkpoint,所以基本上额外需要的磁盘空间量大约等于执行 Manual Compact 的表的数据存储量。所以,在执行 Manual 
Compact 前需 ** 确认集群有足够的存储空间 **,同时在执行过程中 ** 关注磁盘空间使用情况 
**,避免因为磁盘空间耗尽导致集群节点宕机,影响集群可用度。
+
+
 
 # 如何设置
 
-## 通过shell设置
+## 通过 shell 设置
 
-既然Manual 
Compact功能是利用[Table环境变量](table-env)触发的,那么可以直接通过shell功能的[set_app_envs命令](/overview/shell#set_app_envs)来设置。需要设置的环境变量参照上面的描述,环境变量设置后不会立即生效,大约需要等几十秒后才能在所有replica上生效。
+既然 Manual Compact 功能是利用 [Table 环境变量](table-env) 触发的,那么可以直接通过 shell 功能的 
[set_app_envs 命令](/overview/shell#set_app_envs) 
来设置。需要设置的环境变量参照上面的描述,环境变量设置后不会立即生效,大约需要等几十秒后才能在所有 replica 上生效。

Review Comment:
   ```suggestion
   既然 Manual Compact 功能是利用 [Table 环境变量](table-env) 触发的,那么可以直接通过 shell 工具的 
[set_app_envs 命令](/overview/shell#set_app_envs) 来设置,需要设置的环境变量参照上面的描述。
   > 环境变量设置后不会立即生效,大约需要等几十秒后才能在所有 replica 上生效。
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -49,28 +49,28 @@ virtual Status CompactRange(const CompactRangeOptions& 
options,
                             const Slice* begin, const Slice* end) = 0;
 ```
 
-对应地,Pegasus对该功能在上层进行了封装,提供了表级别的Manual Compact功能,其作用是:
-* 通过compaction去掉垃圾数据,减少数据量,降低文件层数,提升读操作的性能。
-* 对最高层做compaction,可以清理掉Delete标记数据。
-* 配合[Usage Scenario功能](usage-scenario)中表的bulk_load模式,可以在灌数据完成后执行一次Manual 
Compact,去除垃圾数据,整理数据和文件夹结构,提升读性能。
+对应地,Pegasus 对该功能在上层进行了封装,提供了表级别的 Manual Compact 功能,其作用是:
+* 通过 compaction 去掉垃圾数据,减少数据量,降低文件层数,提升读操作的性能。
+* 对最高层做 compaction,可以清理掉 Delete 标记数据。
+* 配合 [Usage Scenario 功能](usage-scenario) 中表的 bulk_load 模式,可以在灌数据完成后执行一次 Manual 
Compact,去除垃圾数据,整理数据和文件夹结构,提升读性能。
 
 实现方式:
-* 扩展RocksDB,在Manifest中记录上一次执行Manual 
Compact的时间,并提供`GetLastManualCompactFinishTime()`方法来获取该时间。
-* 利用[Table环境变量](table-env),来设置两类Manual Compect的环境变量:
-  * 单次Manual Compact:
-    * `manual_compact.once.trigger_time`:格式为Unix时间戳的秒数,可通过shell命令`date 
+%s`获取当前时间戳。如果LastManualCompactFinishTime旧于该trigger_time,就触发Manual 
Compaction的执行。
-    * 
`manual_compact.once.target_level`:用于设置`CompactRangeOptions::target_level`。如果不设置,则使用默认值-1。
-    * 
`manual_compact.once.bottommost_level_compaction`:可设置为`skip`或者`force`。如果是`skip`,则不对最高层做compaction;如果是`force`,则强制对最高层做compaction。如果不设置,则默认为`skip`。
-  * 周期Manual Compact:
-    * 
`manual_compact.periodic.trigger_time`:格式为逗号分隔的时钟,譬如`3:00,21:00`,表示每一天的3:00和21:00都触发一次Manual
 Compaction的执行。
-    * 
`manual_compact.periodic.target_level`:用于设置`CompactRangeOptions::target_level`。如果不设置,则使用默认值-1。
-    * 
`manual_compact.periodic.bottommost_level_compaction`:可设置为`skip`或者`force`。如果是`skip`,则不对最高层做compaction;如果是`force`,则强制对最高层做compaction。如果不设置,则默认为`skip`。
-  * Manual Compact总开关:
-    * `manual_compact.disabled`(从v1.9.0版本开始支持):如果为true,则关闭Manual 
Compact功能,并且取消正在执行中的Manual Compact动作。如果不设置,默认为false。
-    * 
`manual_compact.max_concurrent_running_count`(从v1.11.3版本开始支持):指定最大并发数。实际上,可执行的最大并发数由`该env参数`和`服务端MANUAL_COMPACT_THRAD_POOL的线程数`共同决定,取两者的较小值。
+* 扩展 RocksDB,在 Manifest 中记录上一次执行 Manual Compact 的时间,并提供 
`GetLastManualCompactFinishTime()` 方法来获取该时间。
+* 利用 [Table 环境变量](table-env),来设置两类 Manual Compect 的环境变量:
+  * 单次 Manual Compact:
+    * `manual_compact.once.trigger_time`:格式为 Unix 时间戳的秒数,可通过 shell 命令 `date 
+%s` 获取当前时间戳。如果 LastManualCompactFinishTime 旧于该 trigger_time,就触发 Manual 
Compaction 的执行。
+    * `manual_compact.once.target_level`:用于设置 
`CompactRangeOptions::target_level`。如果不设置,则使用默认值 - 1。

Review Comment:
   ```suggestion
       * `manual_compact.once.target_level`:用于设置 
`CompactRangeOptions::target_level`。如果不设置,则使用默认值 `-1`。
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -138,9 +140,57 @@ for example:
            --target_level 2 --bottommost_level_compaction force
 ```
 
-该工具不仅会调用shell命令设置Table环境变量,对于once类型还会等待所有的replica上的操作都执行完成,使用起来十分方便。
+该工具不仅会调用 shell 命令设置 Table 环境变量,对于 once 类型还会等待所有的 replica 上的操作都执行完成,使用起来十分方便。
 
-譬如,在[bulk load](usage-scenario#支持场景)完成后执行once manual compact如下:
+譬如,在 [bulk load](usage-scenario# 支持场景) 完成后执行 once manual compact 如下:
 ```
 $ ./scripts/pegasus_manual_compact.sh -c 127.0.0.1:34601,127.0.0.1:34602 -a 
temp
 ```
+
+
+
+## 通过 admin-cli 设置
+
+在 **2.4.0** 之后的 pegasus 版本还支持用 admin-cli 来设置 manual compaction 
的开始并且可以方便的查看进行的进度。
+
+### 使用命令
+
+```bash
+#开始单次 manual compaction
+Pegasus-AdminCli-1.2.0 » manual-compaction start -h
+start manual compaction for a specific table
+
+Usage:
+  start [flags]
+
+Flags:
+  -b, --bottommostLevelCompaction           bottommost level files will be 
compacted or not, default value is false
+  -h, --help                                display help
+  -c, --maxConcurrentRunningCount int       max concurrent running count, 
default value is 0, no limited (default: 0)
+  -a, --tableName                 string    table name
+  -l, --targetLevel               int       compacted files move level, 
default value is -1 (default: -1)
+  
+  
+#查看 manual compaction 进度

Review Comment:
   ```suggestion
   # 查看 manual compaction 进度
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -49,28 +49,28 @@ virtual Status CompactRange(const CompactRangeOptions& 
options,
                             const Slice* begin, const Slice* end) = 0;
 ```
 
-对应地,Pegasus对该功能在上层进行了封装,提供了表级别的Manual Compact功能,其作用是:
-* 通过compaction去掉垃圾数据,减少数据量,降低文件层数,提升读操作的性能。
-* 对最高层做compaction,可以清理掉Delete标记数据。
-* 配合[Usage Scenario功能](usage-scenario)中表的bulk_load模式,可以在灌数据完成后执行一次Manual 
Compact,去除垃圾数据,整理数据和文件夹结构,提升读性能。
+对应地,Pegasus 对该功能在上层进行了封装,提供了表级别的 Manual Compact 功能,其作用是:
+* 通过 compaction 去掉垃圾数据,减少数据量,降低文件层数,提升读操作的性能。
+* 对最高层做 compaction,可以清理掉 Delete 标记数据。
+* 配合 [Usage Scenario 功能](usage-scenario) 中表的 bulk_load 模式,可以在灌数据完成后执行一次 Manual 
Compact,去除垃圾数据,整理数据和文件夹结构,提升读性能。
 
 实现方式:
-* 扩展RocksDB,在Manifest中记录上一次执行Manual 
Compact的时间,并提供`GetLastManualCompactFinishTime()`方法来获取该时间。
-* 利用[Table环境变量](table-env),来设置两类Manual Compect的环境变量:
-  * 单次Manual Compact:
-    * `manual_compact.once.trigger_time`:格式为Unix时间戳的秒数,可通过shell命令`date 
+%s`获取当前时间戳。如果LastManualCompactFinishTime旧于该trigger_time,就触发Manual 
Compaction的执行。
-    * 
`manual_compact.once.target_level`:用于设置`CompactRangeOptions::target_level`。如果不设置,则使用默认值-1。
-    * 
`manual_compact.once.bottommost_level_compaction`:可设置为`skip`或者`force`。如果是`skip`,则不对最高层做compaction;如果是`force`,则强制对最高层做compaction。如果不设置,则默认为`skip`。
-  * 周期Manual Compact:
-    * 
`manual_compact.periodic.trigger_time`:格式为逗号分隔的时钟,譬如`3:00,21:00`,表示每一天的3:00和21:00都触发一次Manual
 Compaction的执行。
-    * 
`manual_compact.periodic.target_level`:用于设置`CompactRangeOptions::target_level`。如果不设置,则使用默认值-1。
-    * 
`manual_compact.periodic.bottommost_level_compaction`:可设置为`skip`或者`force`。如果是`skip`,则不对最高层做compaction;如果是`force`,则强制对最高层做compaction。如果不设置,则默认为`skip`。
-  * Manual Compact总开关:
-    * `manual_compact.disabled`(从v1.9.0版本开始支持):如果为true,则关闭Manual 
Compact功能,并且取消正在执行中的Manual Compact动作。如果不设置,默认为false。
-    * 
`manual_compact.max_concurrent_running_count`(从v1.11.3版本开始支持):指定最大并发数。实际上,可执行的最大并发数由`该env参数`和`服务端MANUAL_COMPACT_THRAD_POOL的线程数`共同决定,取两者的较小值。
+* 扩展 RocksDB,在 Manifest 中记录上一次执行 Manual Compact 的时间,并提供 
`GetLastManualCompactFinishTime()` 方法来获取该时间。

Review Comment:
   This is the implemantation before 2.1, since 2.1 (include 2.1), the metadata 
is stored in "meta" column family.
   See https://github.com/apache/incubator-pegasus/pull/535, 
https://github.com/apache/incubator-pegasus/pull/556
   
   You should describe both the two methods in different versions.



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -138,9 +140,57 @@ for example:
            --target_level 2 --bottommost_level_compaction force
 ```
 
-该工具不仅会调用shell命令设置Table环境变量,对于once类型还会等待所有的replica上的操作都执行完成,使用起来十分方便。
+该工具不仅会调用 shell 命令设置 Table 环境变量,对于 once 类型还会等待所有的 replica 上的操作都执行完成,使用起来十分方便。
 
-譬如,在[bulk load](usage-scenario#支持场景)完成后执行once manual compact如下:
+譬如,在 [bulk load](usage-scenario# 支持场景) 完成后执行 once manual compact 如下:
 ```
 $ ./scripts/pegasus_manual_compact.sh -c 127.0.0.1:34601,127.0.0.1:34602 -a 
temp
 ```
+
+
+
+## 通过 admin-cli 设置
+
+在 **2.4.0** 之后的 pegasus 版本还支持用 admin-cli 来设置 manual compaction 
的开始并且可以方便的查看进行的进度。
+
+### 使用命令
+
+```bash
+#开始单次 manual compaction

Review Comment:
   ```suggestion
   # 开始单次 manual compaction
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -138,9 +140,57 @@ for example:
            --target_level 2 --bottommost_level_compaction force
 ```
 
-该工具不仅会调用shell命令设置Table环境变量,对于once类型还会等待所有的replica上的操作都执行完成,使用起来十分方便。
+该工具不仅会调用 shell 命令设置 Table 环境变量,对于 once 类型还会等待所有的 replica 上的操作都执行完成,使用起来十分方便。
 
-譬如,在[bulk load](usage-scenario#支持场景)完成后执行once manual compact如下:
+譬如,在 [bulk load](usage-scenario# 支持场景) 完成后执行 once manual compact 如下:
 ```
 $ ./scripts/pegasus_manual_compact.sh -c 127.0.0.1:34601,127.0.0.1:34602 -a 
temp
 ```
+
+
+
+## 通过 admin-cli 设置
+
+在 **2.4.0** 之后的 pegasus 版本还支持用 admin-cli 来设置 manual compaction 
的开始并且可以方便的查看进行的进度。
+
+### 使用命令
+
+```bash
+#开始单次 manual compaction
+Pegasus-AdminCli-1.2.0 » manual-compaction start -h
+start manual compaction for a specific table
+
+Usage:
+  start [flags]
+
+Flags:
+  -b, --bottommostLevelCompaction           bottommost level files will be 
compacted or not, default value is false
+  -h, --help                                display help
+  -c, --maxConcurrentRunningCount int       max concurrent running count, 
default value is 0, no limited (default: 0)
+  -a, --tableName                 string    table name
+  -l, --targetLevel               int       compacted files move level, 
default value is -1 (default: -1)
+  
+  
+#查看 manual compaction 进度
+Pegasus-AdminCli-1.2.0 » manual-compaction query -h
+query manual compaction progress for a specific table
+
+Usage:
+  query [flags]
+
+Flags:
+  -h, --help                display help
+  -a, --tableName string    table name
+
+```
+
+
+
+## 补充说明
+
+manual compaction 常与 bulk load 功能配合使用,作为批量导入大量数据后统一优化读取的手段。在需要进行 bulk load 
操作的表中,我们常将 **Usage Scenario** 参数设置为 bulk_load 模式,以便减小增加大量数据带来的性能损耗。

Review Comment:
   ```suggestion
   manual compaction 可与 bulk load 功能配合使用,作为批量导入大量数据后统一优化读取的手段。在需要进行 bulk load 
操作的表中,可将 **Usage Scenario** 参数设置为 bulk_load 模式,以便减小增加大量数据带来的性能损耗。
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -49,28 +49,28 @@ virtual Status CompactRange(const CompactRangeOptions& 
options,
                             const Slice* begin, const Slice* end) = 0;
 ```
 
-对应地,Pegasus对该功能在上层进行了封装,提供了表级别的Manual Compact功能,其作用是:
-* 通过compaction去掉垃圾数据,减少数据量,降低文件层数,提升读操作的性能。
-* 对最高层做compaction,可以清理掉Delete标记数据。
-* 配合[Usage Scenario功能](usage-scenario)中表的bulk_load模式,可以在灌数据完成后执行一次Manual 
Compact,去除垃圾数据,整理数据和文件夹结构,提升读性能。
+对应地,Pegasus 对该功能在上层进行了封装,提供了表级别的 Manual Compact 功能,其作用是:
+* 通过 compaction 去掉垃圾数据,减少数据量,降低文件层数,提升读操作的性能。
+* 对最高层做 compaction,可以清理掉 Delete 标记数据。
+* 配合 [Usage Scenario 功能](usage-scenario) 中表的 bulk_load 模式,可以在灌数据完成后执行一次 Manual 
Compact,去除垃圾数据,整理数据和文件夹结构,提升读性能。
 
 实现方式:
-* 扩展RocksDB,在Manifest中记录上一次执行Manual 
Compact的时间,并提供`GetLastManualCompactFinishTime()`方法来获取该时间。
-* 利用[Table环境变量](table-env),来设置两类Manual Compect的环境变量:
-  * 单次Manual Compact:
-    * `manual_compact.once.trigger_time`:格式为Unix时间戳的秒数,可通过shell命令`date 
+%s`获取当前时间戳。如果LastManualCompactFinishTime旧于该trigger_time,就触发Manual 
Compaction的执行。
-    * 
`manual_compact.once.target_level`:用于设置`CompactRangeOptions::target_level`。如果不设置,则使用默认值-1。
-    * 
`manual_compact.once.bottommost_level_compaction`:可设置为`skip`或者`force`。如果是`skip`,则不对最高层做compaction;如果是`force`,则强制对最高层做compaction。如果不设置,则默认为`skip`。
-  * 周期Manual Compact:
-    * 
`manual_compact.periodic.trigger_time`:格式为逗号分隔的时钟,譬如`3:00,21:00`,表示每一天的3:00和21:00都触发一次Manual
 Compaction的执行。
-    * 
`manual_compact.periodic.target_level`:用于设置`CompactRangeOptions::target_level`。如果不设置,则使用默认值-1。
-    * 
`manual_compact.periodic.bottommost_level_compaction`:可设置为`skip`或者`force`。如果是`skip`,则不对最高层做compaction;如果是`force`,则强制对最高层做compaction。如果不设置,则默认为`skip`。
-  * Manual Compact总开关:
-    * `manual_compact.disabled`(从v1.9.0版本开始支持):如果为true,则关闭Manual 
Compact功能,并且取消正在执行中的Manual Compact动作。如果不设置,默认为false。
-    * 
`manual_compact.max_concurrent_running_count`(从v1.11.3版本开始支持):指定最大并发数。实际上,可执行的最大并发数由`该env参数`和`服务端MANUAL_COMPACT_THRAD_POOL的线程数`共同决定,取两者的较小值。
+* 扩展 RocksDB,在 Manifest 中记录上一次执行 Manual Compact 的时间,并提供 
`GetLastManualCompactFinishTime()` 方法来获取该时间。
+* 利用 [Table 环境变量](table-env),来设置两类 Manual Compect 的环境变量:
+  * 单次 Manual Compact:
+    * `manual_compact.once.trigger_time`:格式为 Unix 时间戳的秒数,可通过 shell 命令 `date 
+%s` 获取当前时间戳。如果 LastManualCompactFinishTime 旧于该 trigger_time,就触发 Manual 
Compaction 的执行。
+    * `manual_compact.once.target_level`:用于设置 
`CompactRangeOptions::target_level`。如果不设置,则使用默认值 - 1。
+    * `manual_compact.once.bottommost_level_compaction`:可设置为 `skip` 或者 
`force`。如果是 `skip`,则不对最高层做 compaction;如果是 `force`,则强制对最高层做 
compaction。如果不设置,则默认为 `skip`。
+  * 周期 Manual Compact:
+    * `manual_compact.periodic.trigger_time`:格式为逗号分隔的时钟,譬如 `3:00,21:00`,表示每一天的 
3:00 和 21:00 都触发一次 Manual Compaction 的执行。
+    * `manual_compact.periodic.target_level`:用于设置 
`CompactRangeOptions::target_level`。如果不设置,则使用默认值 - 1。
+    * `manual_compact.periodic.bottommost_level_compaction`:可设置为 `skip` 或者 
`force`。如果是 `skip`,则不对最高层做 compaction;如果是 `force`,则强制对最高层做 
compaction。如果不设置,则默认为 `skip`。
+  * Manual Compact 总开关:
+    * `manual_compact.disabled`(从 v1.9.0 版本开始支持):如果为 true,则关闭 Manual Compact 
功能,并且取消正在执行中的 Manual Compact 动作。如果不设置,默认为 false。
+    * `manual_compact.max_concurrent_running_count`(从 v1.11.3 
版本开始支持):指定最大并发数。实际上,可执行的最大并发数由 ` 该 env 参数 ` 和 ` 服务端 MANUAL_COMPACT_THRAD_POOL 
的线程数 ` 共同决定,取两者的较小值。该参数是节点级别的,如果同一时间进行 manual compaction 
的表太多,则很有可能达到该最大并发数,后续该节点上的 replica 会忽略本轮 manual compaction 请求,延后执行。在日志中可以看到 
`xxx ignored compact because exceed max_concurrent_running_count`

Review Comment:
   ```suggestion
       * `manual_compact.max_concurrent_running_count`(从 v1.11.3 
版本开始支持):指定最大并发数。实际上,可执行的最大并发数由该参数和服务端`MANUAL_COMPACT_THRAD_POOL`的线程数共同决定,取两者的较小值。该参数是节点级别的,如果同一时间进行
 manual compaction 的表太多,则很有可能达到该最大并发数,后续该节点上的 replica 会忽略本轮 manual compaction 
请求,延后执行。在日志中可以看到 `xxx ignored compact because exceed 
max_concurrent_running_count`
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -138,9 +140,57 @@ for example:
            --target_level 2 --bottommost_level_compaction force
 ```
 
-该工具不仅会调用shell命令设置Table环境变量,对于once类型还会等待所有的replica上的操作都执行完成,使用起来十分方便。
+该工具不仅会调用 shell 命令设置 Table 环境变量,对于 once 类型还会等待所有的 replica 上的操作都执行完成,使用起来十分方便。
 
-譬如,在[bulk load](usage-scenario#支持场景)完成后执行once manual compact如下:
+譬如,在 [bulk load](usage-scenario# 支持场景) 完成后执行 once manual compact 如下:
 ```
 $ ./scripts/pegasus_manual_compact.sh -c 127.0.0.1:34601,127.0.0.1:34602 -a 
temp
 ```
+
+
+
+## 通过 admin-cli 设置
+
+在 **2.4.0** 之后的 pegasus 版本还支持用 admin-cli 来设置 manual compaction 
的开始并且可以方便的查看进行的进度。
+
+### 使用命令
+
+```bash
+#开始单次 manual compaction
+Pegasus-AdminCli-1.2.0 » manual-compaction start -h
+start manual compaction for a specific table
+
+Usage:
+  start [flags]
+
+Flags:
+  -b, --bottommostLevelCompaction           bottommost level files will be 
compacted or not, default value is false
+  -h, --help                                display help
+  -c, --maxConcurrentRunningCount int       max concurrent running count, 
default value is 0, no limited (default: 0)
+  -a, --tableName                 string    table name
+  -l, --targetLevel               int       compacted files move level, 
default value is -1 (default: -1)
+  
+  
+#查看 manual compaction 进度
+Pegasus-AdminCli-1.2.0 » manual-compaction query -h
+query manual compaction progress for a specific table
+
+Usage:
+  query [flags]
+
+Flags:
+  -h, --help                display help
+  -a, --tableName string    table name
+
+```
+
+
+
+## 补充说明
+
+manual compaction 常与 bulk load 功能配合使用,作为批量导入大量数据后统一优化读取的手段。在需要进行 bulk load 
操作的表中,我们常将 **Usage Scenario** 参数设置为 bulk_load 模式,以便减小增加大量数据带来的性能损耗。
+
+- manual-compaction 的开销要比引擎层 compaction 低,因为我们可以通过参数主动控制并发度。
+- bulk_load 开启后会将 **Usage Scenario** 参数变为 bulk_load,在这种模式下,我们会禁止引擎层的 
compaction,因为 bulk_load 模式下会在 level0 层堆积大量的 sst 文件,如果不关闭引擎 compact 会消耗大量 IO 
并且对读非常不友好。

Review Comment:
   ```suggestion
   - bulk_load 开启后会将 Usage Scenario 参数变为`bulk_load`,在这种模式下,我们会禁止引擎层的 
compaction,因为`bulk_load`模式下会在 level0 层堆积大量的 sst 文件,如果不关闭引擎 compact 会消耗大量 IO 
并且对读非常不友好。
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -138,9 +140,57 @@ for example:
            --target_level 2 --bottommost_level_compaction force
 ```
 
-该工具不仅会调用shell命令设置Table环境变量,对于once类型还会等待所有的replica上的操作都执行完成,使用起来十分方便。
+该工具不仅会调用 shell 命令设置 Table 环境变量,对于 once 类型还会等待所有的 replica 上的操作都执行完成,使用起来十分方便。
 
-譬如,在[bulk load](usage-scenario#支持场景)完成后执行once manual compact如下:
+譬如,在 [bulk load](usage-scenario# 支持场景) 完成后执行 once manual compact 如下:
 ```
 $ ./scripts/pegasus_manual_compact.sh -c 127.0.0.1:34601,127.0.0.1:34602 -a 
temp
 ```
+
+
+
+## 通过 admin-cli 设置
+
+在 **2.4.0** 之后的 pegasus 版本还支持用 admin-cli 来设置 manual compaction 
的开始并且可以方便的查看进行的进度。
+
+### 使用命令
+
+```bash
+#开始单次 manual compaction
+Pegasus-AdminCli-1.2.0 » manual-compaction start -h
+start manual compaction for a specific table
+
+Usage:
+  start [flags]
+
+Flags:
+  -b, --bottommostLevelCompaction           bottommost level files will be 
compacted or not, default value is false
+  -h, --help                                display help
+  -c, --maxConcurrentRunningCount int       max concurrent running count, 
default value is 0, no limited (default: 0)
+  -a, --tableName                 string    table name
+  -l, --targetLevel               int       compacted files move level, 
default value is -1 (default: -1)
+  
+  
+#查看 manual compaction 进度
+Pegasus-AdminCli-1.2.0 » manual-compaction query -h
+query manual compaction progress for a specific table
+
+Usage:
+  query [flags]
+
+Flags:
+  -h, --help                display help
+  -a, --tableName string    table name
+
+```
+
+
+

Review Comment:
   ```suggestion
   
   ```



##########
_docs/zh/administration/manual-compact.md:
##########
@@ -138,9 +140,57 @@ for example:
            --target_level 2 --bottommost_level_compaction force
 ```
 
-该工具不仅会调用shell命令设置Table环境变量,对于once类型还会等待所有的replica上的操作都执行完成,使用起来十分方便。
+该工具不仅会调用 shell 命令设置 Table 环境变量,对于 once 类型还会等待所有的 replica 上的操作都执行完成,使用起来十分方便。
 
-譬如,在[bulk load](usage-scenario#支持场景)完成后执行once manual compact如下:
+譬如,在 [bulk load](usage-scenario# 支持场景) 完成后执行 once manual compact 如下:
 ```
 $ ./scripts/pegasus_manual_compact.sh -c 127.0.0.1:34601,127.0.0.1:34602 -a 
temp
 ```
+
+
+
+## 通过 admin-cli 设置
+
+在 **2.4.0** 之后的 pegasus 版本还支持用 admin-cli 来设置 manual compaction 
的开始并且可以方便的查看进行的进度。
+
+### 使用命令
+
+```bash
+#开始单次 manual compaction
+Pegasus-AdminCli-1.2.0 » manual-compaction start -h
+start manual compaction for a specific table
+
+Usage:
+  start [flags]
+
+Flags:
+  -b, --bottommostLevelCompaction           bottommost level files will be 
compacted or not, default value is false
+  -h, --help                                display help
+  -c, --maxConcurrentRunningCount int       max concurrent running count, 
default value is 0, no limited (default: 0)
+  -a, --tableName                 string    table name
+  -l, --targetLevel               int       compacted files move level, 
default value is -1 (default: -1)
+  
+  
+#查看 manual compaction 进度
+Pegasus-AdminCli-1.2.0 » manual-compaction query -h
+query manual compaction progress for a specific table
+
+Usage:
+  query [flags]
+
+Flags:
+  -h, --help                display help
+  -a, --tableName string    table name
+
+```
+
+
+
+## 补充说明
+
+manual compaction 常与 bulk load 功能配合使用,作为批量导入大量数据后统一优化读取的手段。在需要进行 bulk load 
操作的表中,我们常将 **Usage Scenario** 参数设置为 bulk_load 模式,以便减小增加大量数据带来的性能损耗。
+
+- manual-compaction 的开销要比引擎层 compaction 低,因为我们可以通过参数主动控制并发度。

Review Comment:
   How do you infer this result? The RocksDB background compaction jobs could 
be tuned as well.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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


Reply via email to