From 608e77fc3d401abfa2e8dba2a2c016b731005932 Mon Sep 17 00:00:00 2001 From: Xiang Zhang Date: Mon, 3 Feb 2020 15:21:52 +0800 Subject: [PATCH 1/4] HDDS-2793. concept/Datanodes.md translation --- .../docs/content/concept/Datanodes.zh.md | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/hadoop-hdds/docs/content/concept/Datanodes.zh.md b/hadoop-hdds/docs/content/concept/Datanodes.zh.md index 1c785a194823..53d1b4505b99 100644 --- a/hadoop-hdds/docs/content/concept/Datanodes.zh.md +++ b/hadoop-hdds/docs/content/concept/Datanodes.zh.md @@ -1,8 +1,8 @@ --- -title: "Datanodes" +title: "数据节点" date: "2017-09-14" weight: 4 -summary: TODO translated summary +summary: Ozone 支持 Amazon 的简易存储服务(S3)协议,你可以原封不动地在 Ozone 上使用基于 S3 客户端和 S3 SDK 的应用。 --- -TODO: content translations \ No newline at end of file +数据节点是 Ozone 中的 worker,所有的数据都存储在数据节点上,用户以块的方式写数据,数据节点将多个块聚合成一个存储容器,存储容器中包含用户写入的数据块和这些块的元数据。 + +## 存储容器 + +![FunctionalOzone](ContainerMetadata.png) + +Ozone 的存储容器是一个自包含的超级块,容器中包含一系列的 Ozone 块,以及存储实际数据的磁盘文件,这是默认的存储容器格式。对于 Ozone 来说,容器只是提供了一个协议说明,实际的存储方式并不重要,换句话说,扩展或引入新的容器设计也是很容易的。因此,上述格式应当被看作是 Ozone 存储容器的参考实现。 + +## 理解 Ozone 中的块和容器 + +当用户想要从 Ozone 中读取一个键时,用户向 OM 发送该键名,OM 会返回组成该键的块列表。 + +每个 Ozone 块包含一个容器 ID 和一个本地 ID,下图展示了 Ozone 块的逻辑组成: + +![OzoneBlock](OzoneBlock.png) + +容器 ID 用来让用户发现容器的位置,容器位置的权威信息存储在 SCM 中。大部分情况下,OM 会缓存容器的位置信息,并会将它们随 Ozone 块一起返回给用户。 + +当用户定位到容器的位置,即知道哪些数据节点包含这个容器后,用户会连接数据节点,然后读取由 _容器ID:本地ID_ 指定的数据流,换句话说,本地 ID 相当于容器内的索引,描述了我们应该读取哪个数据流。 + +### 容器的位置发现 + +SCM 如何获得容器的位置?方法和 HDFS 中的方法十分相似。数据节点会定期发送类似于块报告的容器报告,但比块报告的内容简洁的多,比如,对于一个存储容量为 196 TB 的单数据节点组成的集群,Ozone 大概会拥有四万个容器,相比于 HDFS 的一百五十万个块,块报告数量缩减为四十分之一。 + +这种间接管理的方式大大地提高了 Ozone 的扩展性,SCM 需要处理的块数据大大减少,TODO +This extra indirection helps tremendously with scaling Ozone. SCM has far +less block data to process and the name node is a different service are +critical to scaling Ozone. From 19c5f2045809b06d86e94b1daee353d7129f944c Mon Sep 17 00:00:00 2001 From: Xiang Zhang Date: Sun, 23 Feb 2020 11:15:27 +0800 Subject: [PATCH 2/4] HDDS-2793. concept/Datanodes.md translation --- hadoop-hdds/docs/content/concept/Datanodes.md | 4 ++-- hadoop-hdds/docs/content/concept/Datanodes.zh.md | 11 ++++------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/hadoop-hdds/docs/content/concept/Datanodes.md b/hadoop-hdds/docs/content/concept/Datanodes.md index ea63fe46b146..de070588f50e 100644 --- a/hadoop-hdds/docs/content/concept/Datanodes.md +++ b/hadoop-hdds/docs/content/concept/Datanodes.md @@ -71,5 +71,5 @@ thousand containers. Compare that with HDFS block count of million and half blocks that get reported. That is a 40x reduction in the block reports. This extra indirection helps tremendously with scaling Ozone. SCM has far -less block data to process and the name node is a different service are -critical to scaling Ozone. +less block data to process and the namespace service (Ozone Manager) as a +different service are critical to scaling Ozone. diff --git a/hadoop-hdds/docs/content/concept/Datanodes.zh.md b/hadoop-hdds/docs/content/concept/Datanodes.zh.md index 53d1b4505b99..fa992dcc2ca6 100644 --- a/hadoop-hdds/docs/content/concept/Datanodes.zh.md +++ b/hadoop-hdds/docs/content/concept/Datanodes.zh.md @@ -2,7 +2,7 @@ title: "数据节点" date: "2017-09-14" weight: 4 -summary: Ozone 支持 Amazon 的简易存储服务(S3)协议,你可以原封不动地在 Ozone 上使用基于 S3 客户端和 S3 SDK 的应用。 +summary: Ozone 支持 Amazon S3 协议,你可以原封不动地在 Ozone 上使用基于 S3 客户端和 S3 SDK 的应用。 ---