需要明确单节点集群中Hadoop块的大小
我有一个单节点Hadoop集群版本-2.x。我设置的块大小是64MB。我有一个大小为84 MB的HDFS输入文件。现在,当我运行MR作业时,我看到有两个拆分,有效值为84MB/64MB~2,因此有两个拆分 但当我运行命令“hadoopfsck-blocks”查看块的详细信息时,我看到了这一点需要明确单节点集群中Hadoop块的大小,hadoop,size,block,hdfs,Hadoop,Size,Block,Hdfs,我有一个单节点Hadoop集群版本-2.x。我设置的块大小是64MB。我有一个大小为84 MB的HDFS输入文件。现在,当我运行MR作业时,我看到有两个拆分,有效值为84MB/64MB~2,因此有两个拆分 但当我运行命令“hadoopfsck-blocks”查看块的详细信息时,我看到了这一点 Total size: 90984182 B Total dirs: 16 Total files: 7 Total symlinks: 0 Total blo
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
如您所见,平均块大小接近13MB。为什么会这样?理想情况下,块大小应为64 MB。配置块大小时,请设置块可以达到的最大大小。您的文件不太可能是块大小的精确倍数,因此许多块将小于配置的块大小。最大块大小是您指定的64MB,但您必须非常幸运,您的平均块大小等于最大块大小 考虑您提到的一个文件:
1个文件,84 MB
84MB/64MB=2个块
84MB/2块=平均42 MB/块 你必须有一些其他的文件使平均值下降更多 除了块对namenode的内存需求以及如果块大小太大(显然不是单个节点集群中的问题)可能会失去并行性之外,平均块大小小于最大值不会有太多问题 最大块大小为64MB并不意味着每个块都会占用磁盘上的64MB。可能的重复