【问题标题】:Need clarity on Hadoop block size in single Node cluster需要明确单节点集群中的 Hadoop 块大小
【发布时间】:2014-07-20 09:14:51
【问题描述】:

我有一个单节点 Hadoop 集群版本 - 2.x。我设置的块大小是 64 MB。我在 HDFS 中有一个大小为 84 MB 的输入文件。现在,当我运行 MR 作业时,我看到有 2 个拆分,有效为 84 MB/64 MB ~ 2,因此 2 个拆分。

但是当我运行命令“hadoop fsck -blocks”来查看块的详细信息时,我看到了这个。

Total size:    90984182 B
Total dirs:    16
Total files:   7
Total symlinks:                0
Total blocks (validated):      7 (avg. block size 12997740 B)
Minimally replicated blocks:   7 (100.0 %)
Over-replicated blocks:        0 (0.0 %)
Under-replicated blocks:       0 (0.0 %)
Mis-replicated blocks:         0 (0.0 %)
Default replication factor:    1
Average block replication:     1.0
Corrupt blocks:                0
Missing replicas:              0 (0.0 %)
Number of data-nodes:          1
Number of racks:               1

如您所见,平均块大小接近 13 MB。为什么是这样?理想情况下,块大小应该是 64 MB?

【问题讨论】:

标签: hadoop size block hdfs


【解决方案1】:

您指定的最大块大小为 64MB,但您必须非常幸运才能使平均块边等于最大块大小。

考虑您提到的一个文件:
1 个文件,84 MB
84MB/64MB = 2 块
84MB/2 块 = 42 MB/块平均

您必须有一些其他文件使平均值进一步下降。

除了块的名称节点上的内存要求以及如果块大小太高可能会丢失并行性(在单节点集群中显然不是问题)之外,没有太多问题平均块大小小于最大值。

拥有 64MB 的最大块大小并不意味着每个块在磁盘上占用 64MB。

【讨论】:

    【解决方案2】:

    在配置块大小时,您可以设置块的最大大小。您的文件不太可能是块大小的精确倍数,因此许多块将小于配置的块大小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多