ChenSammi commented on code in PR #7313:
URL: https://github.com/apache/ozone/pull/7313#discussion_r1816261892


##########
hadoop-hdds/docs/content/tools/Debug.zh.md:
##########
@@ -0,0 +1,466 @@
+---
+title: "Ozone Debug"
+date: 2024-10-14
+summary: Ozone Debug 命令可用于所有与调试相关的任务。
+---
+<!---
+  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.
+-->
+
+Ozone Debug 命令 (`ozone debug`) 是开发人员工具的集合,旨在帮助调试并获取 Ozone 各个组件的更多信息。
+
+```bash
+Usage: ozone debug [-hV] [--verbose] [-conf=<configurationPath>]
+                   [-D=<String=String>]... [COMMAND]
+Developer tools for Ozone Debug operations
+      -conf=<configurationPath>
+                  path to the ozone configuration file
+  -D, --set=<String=String>
+                  a map of (configuration_key,configuration_value) for any 
overrides
+  -h, --help      Show this help message and exit.
+  -V, --version   Print version information and exit.
+      --verbose   More verbose output. Show the stack trace of the errors.
+```
+子命令:
+  chunkinfo                  返回有关现有键的块位置信息
+  print-log-dag, pld         在 OM 中创建当前压缩日志 DAG 的镜像。
+  find-missing-padding, fmp  列出所有缺少填充的键,可以选择限制为卷/存储桶/键 URI。
+  recover                    恢复指定文件的租约。如果 ofs:// 不是默认值,请确保指定文件系统方案。
+  prefix                     解析前缀内容
+  ldb                        解析 rocksdb 文件内容
+  read-replicas              读取与给定键关联的所有块的每个副本。
+  container                  仅在数据节点上执行容器副本特定操作
+  ratislogparser             以可理解的文本打印 Ratis Log 的外壳
+
+有关更详细的用法,请参阅每个子命令的“--help”输出。
+
+
+## ozone debug ldb
+
+Ozone 大量使用 RocksDB 来存储元数据。该工具帮助解析各个Ozone Roles 的 RocksDB 数据内容。
+支持的数据库:Ozone Manager (om.db)、StorageContainerManager 
(scm.db)、Datanode/Container (container.db)
+下面是用法:
+
+```bash
+Usage: ozone debug ldb --db=<dbPath> [COMMAND]
+Parse rocksdb file content
+      --db=<dbPath>   Database File Path
+Commands:
+  scan                      Parse specified metadataTable
+  list_column_families, ls  list all column families in db.
+  value-schema              Schema of value in metadataTable
+```
+
+### list_column_families command
+
+`list_column_families` 命令列出了提供的数据库中的所有列族。
+
+```bash
+$ ozone debug ldb --db=/path/to/scm.db ls
+default
+sequenceId
+revokedCertsV2
+pipelines
+crls
+crlSequenceId
+meta
+containers
+validCerts
+validSCMCerts
+scmTransactionInfos
+deletedBlocks
+statefulServiceConfig
+revokedCerts
+move
+```
+
+### scan command
+
+`scan` 命令解析提供的 rocksdb 的特定列族并打印记录。
+
+```bash
+Usage: ozone debug ldb scan [--compact] [--count] [--with-keys]
+                            [--batch-size=<batchSize>] --cf=<tableName>
+                            [--cid=<containerId>] [-d=<dnDBSchemaVersion>]
+                            [-e=<endKey>] [--fields=<fieldsFilter>]
+                            [--filter=<filter>] [-l=<limit>] [-o=<fileName>]
+                            [-s=<startKey>] [--thread-count=<threadCount>]
+Parse specified metadataTable
+      --batch-size=<batchSize>
+                          Batch size for processing DB data.
+      --cf, --column_family, --column-family=<tableName>
+                          Table name
+      --cid, --container-id=<containerId>
+                          Container ID. Applicable if datanode DB Schema is V3
+      --compact           disable the pretty print the output
+      --count, --show-count
+                          Get estimated key count for the given DB column 
family
+                            Default: false
+  -d, --dnSchema, --dn-schema=<dnDBSchemaVersion>
+                          Datanode DB Schema Version: V1/V2/V3
+  -e, --ek, --endkey=<endKey>
+                          Key at which iteration of the DB ends
+      --fields=<fieldsFilter>
+                          Comma-separated list of fields needed for each value.
+                            eg.) "name,acls.type" for showing name and type
+                            under acls.
+      --filter=<filter>   Comma-separated list of "<field>:<operator>:<value>"
+                            where <field> is any valid field of the record,
+                            <operator> is [EQUALS,LESSER, GREATER or REGEX].
+                            (EQUALS compares the exact string, REGEX compares
+                            with a valid regular expression passed, and
+                            LESSER/GREATER works with numeric values), <value>
+                            is the value of the field.
+                          eg.) "dataSize:equals:1000" for showing records
+                            having the value 1000 for dataSize,
+                               "keyName:regex:^key.*$" for showing records
+                            having keyName that matches the given regex.
+  -l, --limit, --length=<limit>
+                          Maximum number of items to list.
+  -o, --out=<fileName>    File to dump table scan data
+  -s, --sk, --startkey=<startKey>
+                          Key from which to iterate the DB
+      --thread-count=<threadCount>
+                          Thread count for concurrent processing.
+      --with-keys         Print a JSON object of key->value pairs (default)
+                            instead of a JSON array of only values.
+```
+默认情况下,内容打印在控制台上,但可以使用 `--out` 选项将其重定向到文件。 <br>
+`--length` 可用于限制打印的记录数。 <br>
+`--count` 不打印记录,它显示大概的记录数。这是不准确的。 <br>
+`ozone debug ldb scan` 命令提供了许多过滤选项以使调试更容易,详细说明如下:<br>
+
+<div class="alert alert-success" role="alert">
+  多个过滤选项可以在单个命令中一起使用。
+</div>
+
+#### --startkey and --endkey
+顾名思义,这些选项指定迭代需要发生的键。  <br>
+`--startkey` 指定从哪个键开始迭代,它是包含的。 `--endkey` 指定停止迭代的键,它是独占的。

Review Comment:
   它是包含的 -》 包含该键
   
   它是独占的。 -〉 不包含该键。



-- 
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