HDFS块大小及其与底层物理文件系统块大小的关系

  • 本文关键字:文件系统 关系 HDFS hadoop hdfs
  • 更新时间 :
  • 英文 :


我试图理解HDFS文件系统块大小和底层物理文件系统块大小之间的关系。

根据我的理解hdfs只是一个虚拟文件系统,它将实际数据存储在底层物理文件系统上。Hadoop2中的HDFS块大小为128 MB;但是,在大多数基于 Linux 的文件系统中,块大小为 4 KB。

我的问题:

问题 1(当一个HDFS块被写入实际的文件系统时,它是否写入底层文件系统的多个块?也就是说,对于单个HDFS块,它必须写入128 * 1024 KB/4 KB -->32,768个块?

问题 2(如果上面是正确的,它不是涉及磁盘头上的大量搜索吗?这不是一个耗时的过程吗?Hadoop如何有效地完成这个过程?

谁能帮我理解这一点?

两者之间根本没有联系。 HDFS中的128MB块大小只是意味着HDFS不会产生大于128MB的文件。 当它需要存储大量数据时,它会将其分成几个文件。 但是HDFS创建的128MB文件与任何其他程序创建的128MB文件没有什么不同。

您是对的,在磁盘上散布大量 4k 块可能会导致在访问文件时出现大量磁盘寻道。 为了避免这种情况,当操作系统为文件(任何文件,而不仅仅是HDFS创建的文件(分配磁盘空间时,它会尝试选择彼此相邻的块,以便磁盘可以查找一次,然后一起读取或写入所有块。

有关详细信息,请阅读磁盘碎片。

相关内容

最新更新