Hadoop 2.x中的默认块大小

时间:2016-10-02 13:36:19

标签: hadoop hdfs yarn

Hadoop 2.x 中的默认块大小为128MB。 64MB有什么问题?

2 个答案:

答案 0 :(得分:2)

块大小增加有一些原因。如果您正在管理大量数据字节的Hadoop集群,它会提高性能。

如果您管理 1 peta字节的群集, 64 MB 块大小会导致 15 + 百万个块,这很难Namenode有效管理。

拥有大量的块也会在MapReduce执行期间产生大量的映射器。

根据您的数据要求,您可以微调dfs.blocksize

通过正确设置块大小( 64MB或128 Mb或256 MB或512 MB ),您可以实现

  1. 改善Namenode性能
  2. Map映射减少作业的性能改进,因为映射器的数量直接取决于块大小。
  3. 有关详细信息,请参阅此link

答案 1 :(得分:1)

HDFS的块大小非常大,可以最大限度地减少寻道时间。最佳块大小取决于平均文件大小,查找时间和传输速率。

磁盘越快,数据块越大,但存在限制。

为了利用数据局部性,拆分具有相同大小的数据块,因为我们为每个拆分启动一个线程,太大的块会降低并行性。 所以最好的是:

  1. 保持低寻找时间。 ( - >增加快速磁盘上的块大小)
  2. 保持分裂不要太低。 ( - >减小块大小)
  3. 利用数据位置。 ( - >保持分割大小尽可能接近块大小)
  4. 128MB是当今磁盘速度,大小和计算性能的理想选择。