HDFS块与HDD存储块

时间:2018-07-19 13:10:27

标签: hadoop filesystems hdfs sd-card hard-drive

我使用Hadoop HDFS已有相当一段时间了,我知道HDFS块(64 Mb,128 Mb)的工作。但是我仍然不清楚其他文件系统中的块,例如硬盘驱动器的存储块容量为4kb。

所以我的理解是,即使我们的移动sd卡,所有存储系统都使用块来存储数据,但是Hadoop为了处理大量数据具有更大的块大小,对吗?

请让我知道是否有任何文档比较不同的块存储系统。

1 个答案:

答案 0 :(得分:0)

HDFS基本上是对现有文件系统的抽象(这意味着64 MB / 128 MB块在LFS中存储为4k块)。 hdfs块的大小之所以大是为了最大程度地减少寻道。 HDFS块存储在普通文件系统中的连续存储位置(彼此相邻)中,这意味着读取总时间是在LFS上查找第一个块的开头然后读取该块内容而无需因为它们是连续的,所以需要再进行搜索。

这意味着我们正在读取与磁盘传输速率相当的数据,并花费了最少的搜索时间。

这在MR作业中非常有帮助,因为我们必须读取大量数据并对这些数据执行操作,因此,将查找时间减至最少可以大大提高性能。

HDFS还可以处理大型文件。假设您有一个1GB的文件。如果块大小为4k,则必须发出256,000个请求才能获取该文件。在HDFS中,这些请求通过网络到达名称节点,以找出可以在何处找到该块。如果使用64Mb块,则请求数将降至16。 使用大块大小的原因是为了减轻名称节点的压力。由于namenode存储文件块的元数据,因此,如果块大小很小,则namenode将很容易被块数据淹没。

这些链接还将帮助您更好地了解 HDFS vs LFS

相关问题