HDFS的block为什么是128M?增大或减小有什么影响? 您所在的位置:网站首页 hdfs块大小取决于 HDFS的block为什么是128M?增大或减小有什么影响?

HDFS的block为什么是128M?增大或减小有什么影响?

2024-07-10 12:50| 来源: 网络整理| 查看: 265

1、首先先来了解几个概念

寻址时间:HDFS中找到目标文件block块所花费的时间。

原理:文件块越大,寻址时间越短,但磁盘传输时间越长;文件块越小,寻址时间越长,但磁盘传输时间越短。

2、为什么block不能设置过大,也不能设置过小

如果块设置过大,如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。导致程序在处理这块数据时,会非常慢;另一方面,MapReduce中的map任务通常一次只处理一个块中的数据,如果块过大运行速度也会很慢。

如果设置过小,一方面存放大量小文件会占用NameNode中大量内存来存储元数据,而NameNode的内存是有限的(主要原因),不可取;另一方面块过小,寻址时间增长,导致程序一直在找block的开始位置(MapReduce将起多个进程,带来切换开销)。因此,块适当设置大一些,减少寻址时间,传输一个有多个块组成的文件的时间主要取决于磁盘的传输速度。

3、块大小多少合适

如果寻址时间约为10ms,而传输速率为100MB/s,为了使寻址时间仅占传输时间的1%,我们要将块大小设置约为100MB。默认的块大小128MB。

块的大小:10ms x 100 x 100M/s = 100M,如图

HDFS的block为什么是128M?增大或减小有什么影响?_面试题

如果增加文件块大小,那就需要增加磁盘的传输速率。HDFS块的大小设置主要取决于磁盘传输速率。

比如,磁盘传输速率为200MB/s时,一般设定block大小为256MB;磁盘传输速率为400MB/s时,一般设定block大小为512MB。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有