【问题标题】:In Hadoop HDFS, how many data nodes a 1GB file uses to be stored?在 Hadoop HDFS 中,一个 1GB 的文件要用多少个数据节点来存储?
【发布时间】:2019-02-18 19:56:42
【问题描述】:

我有一个 1GB 大小的文件要存储在 HDFS 文件系统上。我有一个包含 10 个数据节点和一个名称节点的集群设置。 Namenode 是否有任何计算使用(不用于副本)特定的数据节点数来存储文件?或者有没有我们可以配置用于文件存储的参数?如果是这样,如果没有专门配置,Hadoop 用来存储文件的默认数据节点数是多少?

我想知道它是使用集群的所有数据节点还是只使用特定的数据节点。

假设 HDFS 块大小为 64MB,并且所有数据节点上也存在空闲空间。

提前致谢。

【问题讨论】:

    标签: hdfs


    【解决方案1】:

    如果配置的块大小为 64 MB,并且您有一个 1 GB 文件,这意味着文件大小为 1024 MB。

    因此需要的块将是 1024/64 = 16 个块,这意味着 1 个 Datanode 将消耗 16 个块 来存储您的 1 GB文件。

    现在,假设您有一个 10 个节点的集群,那么 默认副本是 3 个,这意味着您的 1 GB 文件将存储在 3 个不同的节点上。因此,您的 1 GB 文件获取的块是 -> *16 * 3 =48 个块*。

    如果你的一个块是 64 MB,那么你消耗的 1 GB 文件的总大小是 -> *64 * 48 = 3072 MB*。

    希望能消除您的疑虑。

    【讨论】:

      【解决方案2】:

      第二(2)代 Hadoop

      如果配置的块大小为 128 MB,并且您有一个 1 GB 的文件,这意味着文件大小为 1024 MB。

      所以需要的块将是 1024/128 = 8 个块,这意味着 1 个 Datanode 将包含 8 个块 来存储您的 1 GB 文件。

      现在,假设您有一个 10 个节点的集群,那么 默认副本是 3 个,这意味着您的 1 GB 文件将存储在 3 个不同的节点上。所以,你获得的块

      1 GB 文件 -> *8 * 3 =24 个块*。

      如果你的一个块是 128 MB,那么你消耗的 1 GB 文件的总大小是 -

      *128 * 24 = 3072 MB*。

      【讨论】:

        猜你喜欢
        • 2017-03-28
        • 1970-01-01
        • 2019-12-23
        • 2018-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-18
        相关资源
        最近更新 更多