【问题标题】:The interaction between hadoop hdfs block size and linux file system block sizehadoop hdfs块大小与linux文件系统块大小的交互
【发布时间】:2015-07-03 19:41:24
【问题描述】:

我知道 hadoop 块大小是 64MB,而 linux FS 是 4KB。 我从阅读中的理解是 hadoop hdfs 在 linux FS 本身之上工作。

hadoop 文件系统实际上如何与 linux 4KB 块大小一起工作? 例如,在写入操作期间,64MB 块是否会分解为 4KB 块并保存到磁盘?

【问题讨论】:

    标签: hadoop hdfs


    【解决方案1】:

    是的,你说的是对的。 HDFS 只是 Linux FS 之上的一个抽象,其中 64MB 的块存储在 4KB linux FS 的连续块中,以便快速访问。当您写入 64MB 的 HDFS 块时,Linux 会将其视为单个文件,并在内部将其分解为 4KB 块。

    【讨论】:

    • 感谢您的解释。如果有人试图设计一种新的 SSD 类型的存储硬件,则可以“绕过” 4KB Linux 块大小限制为 MB 大小块甚至 64MB。也许使用自定义内核和硬件,这实际上是否有利于为 hadoop 获得更好的性能?
    • 是的,但没有您期望的那么多。这是因为 HDFS 专门设计用于利用传统硬盘的读/写特性。 SSD 查找数据的速度要快得多,但由于 HDFS 将其数据存储在连续的一系列块中,因此传统硬盘驱动器的整体性能出奇的好。
    • 如何标记为已回答?我在 redhat 上发现了这个 hugepages 功能。我想知道这个功能是否真的绕过了 4K 块? rhsummit.files.wordpress.com/2013/06/…
    • 根据我的观点,4KB 块最适合处理大小文件。如果您有一个大至 64MB 的块大小,您可能需要 64MB 来存储一个 1 字节的文件。您可以通过单击左侧的勾号来标记答案。
    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 2018-12-26
    • 1970-01-01
    • 2015-08-13
    • 2010-12-02
    相关资源
    最近更新 更多