假设我的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不会附加到同一个块。这是对的吗?
我看过一些教程,他们说使用了块中的“空闲”空间。
答案 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将由另一个块使用,其元数据大小也相同。