gpt4 book ai didi

hadoop - reducer 的输出发送到 HDFS,其中 map 输出存储在数据节点本地磁盘中?

转载 作者:可可西里 更新时间:2023-11-01 15:02:48 25 4
gpt4 key购买 nike

我对 HDFS 存储和数据节点存储有点困惑。以下是我的疑惑。

  1. Map 函数输出将保存到数据节点本地磁盘,reducer 输出将发送到 HDFS。众所周知,数据 block 存储在数据节点本地磁盘中有没有数据节点中可用于 HDFS 的其他磁盘空间??

  2. reducer 输出文件 (part-nnnnn-r-00001) 的物理存储位置是什么?它会存储在名称节点硬盘中吗?

所以我假设数据节点是 HDFS 的一部分,我假设数据节点本地磁盘也是 HDFS 的一部分。

问候苏雷什

最佳答案

您必须知道虚拟概念和实际存储之间的区别。HDFS(Hadoop 分布式文件系统)只是指定数据将如何存储在数据节点中。当您说将文件存储在 HDFS 中时,这意味着它实际上将被视为 HDFS 文件,但实际上存储在数据节点的磁盘中。

让我们详细看看它是如何工作的:

  • HDFS 作为 block 结构文件系统:它将单个文件分成固定大小(默认为 64 MB)的 block 。这些 block 存储在由一个名称节点和多个数据节点组成的机器集群中。

  • nameNode 处理元数据结构(例如,文件和目录的名称)并控制对文件的访问它还执行打开/关闭/重命名等操作。要打开文件,客户端会联系 NameNode 并检索组成文件的 block 的位置列表。这些位置标识了保存每个 block 的DataNodes。然后客户端直接从 DataNode 服务器读取文件数据,可能是并行的。 NameNode 不直接参与此批量数据传输,从而将其开销保持在最低水平。

  • DataNodes 将负责服务读/写请求和 block 创建/删除/复制。所以HDFS系统中的每一个 block 实际上都存储在dataNode中。

关于hadoop - reducer 的输出发送到 HDFS,其中 map 输出存储在数据节点本地磁盘中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23218251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com