2

In hadoop definitive guide :

a 1 MB file stored with a block size of 128 MB uses 1 MB of disk space, not128 MB.

what does this mean ? does it use 1MB of size in a block of 128MB or 1MB is used and reamining 127MB is free to occupy by some other file ?

4

2 回答 2

6

这通常是对 HDFS 的误解——块大小更多的是关于单个文件如何分割/分区,而不是关于文件系统的某些保留部分。

在这些方案背后,每个块都作为普通文件(以及相关的校验和)存储在 DataNodes 底层文件系统中。如果您查看磁盘上的数据节点文件夹,您应该能够找到该文件(如果您知道文件的块 ID 和数据节点分配 - 您可以从 NameNode Web UI 中发现)。

所以回到你的问题,块大小为 16MB/32MB/128MB/512MB/1G/2G(你明白了)的 1MB 文件在数据节点磁盘上仍然只有 1MB 文件。然后,块大小和存储在该块中的数据量之间的差异可供底层文件系统随意使用(通过 HDFS 或其他方式)。

于 2013-11-08T12:13:58.107 回答
0

Hadoop 块大小是 Hadoop 存储概念。每次当您在 Hadoop 中存储文件时,它都会划分为块大小,并根据复制因子和数据位置分布在集群中。

有关详细信息,您可以在这里找到我的答案

小文件和 HDFS 块

于 2017-09-15T15:09:05.607 回答