This is an automated email from the ASF dual-hosted git repository.
siyao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new e34de9fbdb HDDS-5567. interface/Cli.md translation (#6474)
e34de9fbdb is described below
commit e34de9fbdbb7c78a5a415d8fe234f0db408fad61
Author: Will Xiao <[email protected]>
AuthorDate: Fri Apr 5 15:15:49 2024 +0800
HDDS-5567. interface/Cli.md translation (#6474)
---
hadoop-hdds/docs/content/interface/Cli.zh.md | 311 ++++++++++++++++++++++++
hadoop-hdds/docs/content/interface/_index.zh.md | 2 +-
2 files changed, 312 insertions(+), 1 deletion(-)
diff --git a/hadoop-hdds/docs/content/interface/Cli.zh.md
b/hadoop-hdds/docs/content/interface/Cli.zh.md
new file mode 100644
index 0000000000..aa34a92457
--- /dev/null
+++ b/hadoop-hdds/docs/content/interface/Cli.zh.md
@@ -0,0 +1,311 @@
+---
+title: 命令行接口
+weight: 4
+menu:
+ main:
+ parent: "客户端接口"
+---
+<!---
+ 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 shell 是从命令行与 Ozone 交互的主要接口。在后台,它调用 [Java API]({{< ref
"interface/JavaApi.md">}}).
+
+有些功能只能通过使用 `ozone sh` 命令才能访问。例如:
+
+1. 创建带有配额的卷
+2. 管理内部 ACL
+3. 创建带有加密的键的桶
+
+所有这些命令都是一次性的管理任务。应用程序也可以使用其他接口,如 Hadoop 兼容文件系统(o3fs 或 ofs)或 S3 接口来实现相同功能而无需使用
Ozone 命令行接口。
+
+
+Ozone shell 的帮助菜单可以在 _对象_ 级别 或者 _动作_ 级别被调出.
+
+示例命令:
+
+```bash
+ozone sh volume --help
+```
+
+这条命令展示了卷的所有可用的 _动作_ 命令
+
+或者也可以用来解释具体的某个 _动作_ ,例如:
+
+```bash
+ozone sh volume create --help
+```
+
+这条命令输出卷的`create`动作的所有命令行选项
+
+## 通用命令格式
+
+Ozone shell 命令采取以下形式:
+
+> _ozone sh object action url_
+
+**ozone** 脚本用于调用所有 Ozone 子命令。通过 ```sh``` 命令调用 ozone shell 命令。
+
+对象可以是卷、桶或键。动作可以是创建、列出、删除等。
+
+根据动作,Ozone URL 可以指向以下格式的卷、桶或键:
+
+_\[schema\]\[server:port\]/volume/bucket/key_
+
+
+其中,
+
+1. **Schema** - 应为 `o3`,这是访问 Ozone API 的原生 RPC 协议。是否指定 schema 是可选的。
+
+2. **Server:Port** - 应为 Ozone Manager 的地址。如果不指定端口,则将使用 ozone-site.xml 中的默认端口。
+
+请查看卷命令、桶命令和键命令部分了解更多详情。
+
+## 卷操作
+
+卷位于层次结构的顶层,仅由管理员管理。也可以指定所有者用户和配额。
+
+示例命令:
+
+```shell
+$ ozone sh volume create /vol1
+```
+
+```shell
+$ ozone sh volume info /vol1
+{
+ "metadata" : { },
+ "name" : "vol1",
+ "admin" : "hadoop",
+ "owner" : "hadoop",
+ "creationTime" : "2020-07-28T12:31:50.112Z",
+ "modificationTime" : "2020-07-28T12:31:50.112Z",
+ "acls" : [ {
+ "type" : "USER",
+ "name" : "hadoop",
+ "aclScope" : "ACCESS",
+ "aclList" : [ "ALL" ]
+ }, {
+ "type" : "GROUP",
+ "name" : "users",
+ "aclScope" : "ACCESS",
+ "aclList" : [ "ALL" ]
+ } ],
+ "quota" : 1152921504606846976
+}
+```
+
+```shell
+$ ozone sh volume list /
+[ {
+ "metadata" : { },
+ "name" : "s3v",
+ "admin" : "hadoop",
+ "owner" : "hadoop",
+ "creationTime" : "2020-07-27T11:32:22.314Z",
+ "modificationTime" : "2020-07-27T11:32:22.314Z",
+ "acls" : [ {
+ "type" : "USER",
+ "name" : "hadoop",
+ "aclScope" : "ACCESS",
+ "aclList" : [ "ALL" ]
+ }, {
+ "type" : "GROUP",
+ "name" : "users",
+ "aclScope" : "ACCESS",
+ "aclList" : [ "ALL" ]
+ } ],
+ "quota" : 1152921504606846976
+}, {
+ ....
+} ]
+```
+
+如果卷为空,我们可以使用以下命令删除卷。
+
+```shell
+$ ozone sh volume delete /vol1
+Volume vol1 is deleted
+```
+如果卷包含任意桶或键,我们可以递归地删除卷。这将删除卷中所有的桶和键,然后删除卷本身。在运行这个命令后,将无法恢复已删除的内容。
+
+```shell
+$ ozone sh volume delete -r /vol1
+This command will delete volume recursively.
+There is no recovery option after using this command, and no trash for FSO
buckets.
+Delay is expected running this command.
+Enter 'yes' to proceed': yes
+Volume vol1 is deleted
+```
+
+## 桶操作
+
+桶是层次结构的第二层级,与 AWS S3 桶相似。如果用户有必要的权限,可以在卷中创建桶。
+
+示例命令:
+
+```shell
+$ ozone sh bucket create /vol1/bucket1
+```
+
+```shell
+$ ozone sh bucket info /vol1/bucket1
+{
+ "metadata" : { },
+ "volumeName" : "vol1",
+ "name" : "bucket1",
+ "storageType" : "DISK",
+ "versioning" : false,
+ "creationTime" : "2020-07-28T13:14:45.091Z",
+ "modificationTime" : "2020-07-28T13:14:45.091Z",
+ "encryptionKeyName" : null,
+ "sourceVolume" : null,
+ "sourceBucket" : null
+}
+```
+
+如果桶是空的,我们可以用以下命令来删除桶。
+
+```shell
+$ ozone sh bucket delete /vol1/bucket1
+Bucket bucket1 is deleted
+```
+
+如果桶包含任意键,我们可以递归地删除桶。这将删除桶中的所有键,然后删除桶本身。在运行这个命令后,将无法恢复已删除的内容。
+
+```shell
+$ ozone sh bucket delete -r /vol1/bucket1
+This command will delete bucket recursively.
+There is no recovery option after using this command, and deleted keys won't
move to trash.
+Enter 'yes' to proceed': yes
+Bucket bucket1 is deleted
+```
+[透明数据加密]({{< ref "security/SecuringTDE.md" >}}) 可以在桶层级被启用。
+
+## 键操作
+
+键是可以存储数据的对象。
+
+```shell
+$ ozone sh key put /vol1/bucket1/README.md README.md
+```
+
+<div class="alert alert-warning" role="alert">
+
+在这个命令中,标准的命令顺序 `ozone sh <object_type> <action> <url>` 可能会让使用者困惑, 因为它的格式是
`ozone sh key put <destination> <source>`, 而不是我们习惯的自然的顺序 `<source>
<destination>`.
+</div>
+
+
+
+```shell
+$ ozone sh key info /vol1/bucket1/README.md
+{
+ "volumeName" : "vol1",
+ "bucketName" : "bucket1",
+ "name" : "README.md",
+ "dataSize" : 3841,
+ "creationTime" : "2020-07-28T13:17:20.749Z",
+ "modificationTime" : "2020-07-28T13:17:21.979Z",
+ "replicationType" : "RATIS",
+ "replicationFactor" : 1,
+ "ozoneKeyLocations" : [ {
+ "containerID" : 1,
+ "localID" : 104591670688743424,
+ "length" : 3841,
+ "offset" : 0
+ } ],
+ "metadata" : { },
+ "fileEncryptionInfo" : null
+}
+```
+
+```shell
+$ ozone sh key get /vol1/bucket1/README.md /tmp/
+```
+
+```shell
+$ ozone sh key delete /vol1/bucket1/key1
+```
+
+
+如果键是在 [FSO]({{< ref "feature/PrefixFSO.zh.md">}}) 桶中,当删除键时它会被移动到回收站,回收站的位置是:
+```shell
+$ /<volume>/<bucket>/.Trash/<user>
+```
+如果键是在OBS桶中,它将被永久删除。
+
+## 查询命令行结果
+
+Ozone命令行返回JSON响应。[jq](https://stedolan.github.io/jq/manual/)
是一个命令行JSON处理器,可以用来过滤CLI结果以获取所需信息.
+
+示例命令:
+
+* 列出不是链接的 FSO 桶。
+```shell
+$ ozone sh bucket list /s3v | jq '.[] | select(.link==false and
.bucketLayout=="FILE_SYSTEM_OPTIMIZED")'
+{
+ "metadata": {},
+ "volumeName": "s3v",
+ "name": "fso-bucket",
+ "storageType": "DISK",
+ "versioning": false,
+ "usedBytes": 0,
+ "usedNamespace": 0,
+ "creationTime": "2023-02-01T05:18:46.974Z",
+ "modificationTime": "2023-02-01T05:18:46.974Z",
+ "quotaInBytes": -1,
+ "quotaInNamespace": -1,
+ "bucketLayout": "FILE_SYSTEM_OPTIMIZED",
+ "owner": "om",
+ "link": false
+}
+```
+
+* 列出 EC 桶以及它们的复制策略配置。
+```shell
+$ ozone sh bucket list /vol1 | jq -r '.[] |
select(.replicationConfig.replicationType == "EC") | {"name": .name,
"replicationConfig": .replicationConfig}'
+{
+ "name": "ec5",
+ "replicationConfig": {
+ "data": 3,
+ "parity": 2,
+ "ecChunkSize": 1048576,
+ "codec": "RS",
+ "replicationType": "EC",
+ "requiredNodes": 5
+ }
+}
+{
+ "name": "ec9",
+ "replicationConfig": {
+ "data": 6,
+ "parity": 3,
+ "ecChunkSize": 1048576,
+ "codec": "RS",
+ "replicationType": "EC",
+ "requiredNodes": 9
+ }
+}
+```
+
+* 以制表符分隔的格式列出加密桶的名字以及它们的加密的键名。
+```shell
+
+$ ozone sh bucket list /vol1 | jq -r '.[] | select(.encryptionKeyName != null)
| [.name, .encryptionKeyName] | @tsv'
+ec5 key1
+encrypted-bucket key1
+```
diff --git a/hadoop-hdds/docs/content/interface/_index.zh.md
b/hadoop-hdds/docs/content/interface/_index.zh.md
index fd435aad5d..82c5e1fb9c 100644
--- a/hadoop-hdds/docs/content/interface/_index.zh.md
+++ b/hadoop-hdds/docs/content/interface/_index.zh.md
@@ -1,5 +1,5 @@
---
-title: "编程接口"
+title: "客户端接口"
menu:
main:
weight: 5
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]