在以下示例中,在Hadoop中创建了多少个块?

时间:2014-08-06 22:12:10

标签: hadoop hdfs hadoop2

假设我的HDFS块大小为64 MB。

我有4个文件:

文件A:64MB * 3 + 2 MB;

文件B:62 MB;

文件A应该有4个块,每个块有64 MB,另一个有2 MB。

文件B应该有一个62 MB的块。

所以总共应该有6个块

仅仅因为文件A的一个块中存在“空闲”空间,只存储2 MB, 文件B不会附加到同一个块。这是对的吗?

我看过一些教程,他们说使用了块中的“空闲”空间。

3 个答案:

答案 0 :(得分:1)

正确,将有6个街区。所有这些意味着2MB块只在物理节点的硬盘上物理占用2MB,而不是完整的块大小,这将浪费空间。

答案 1 :(得分:1)

文件A - 4个块。 3与64& 1个2MB

文件B - 1块。 62 MB大小。

如果复制为3,则总共会有(4 + 1)* 3 = 15个块。

它们在视频中意味着什么,HDFS(DataNodes)将再次利用本地文件系统中的空间,因为它建立在本地文件系统的顶部。如果块占用少于64MB,则文件系统中的剩余空间将保持未占用状态。它可以被其他一些文件的其他块使用。

答案 2 :(得分:1)

假设您在这里,大小为64 MB,

现在你有3个文件,每个64 MB。对于该信息,每个块将具有生成的150Kb元数据信息并保存在名称节点中。 即使块大小为1 MB或50 MB或64 MB,元数据信息也是相同的

场景中的

文件A:64 * 3 = 3块

2MB = 1 Block

FileA = 3 + 1 = 4块。

文件B = 62 MB = 1Block

内部如何运作:

我们假设如果存储50 Mb的文件,我们假设其余的14 Mb(64-50 = 14 MB)被浪费了。但这不是它的工作原理。你应该明白即使文件是> 64 MB元数据信息将是相同的。其余14 Mb将由另一个块使用,其元数据大小也相同。