HDFS的block为什么是128M?增大或减小有什么影响?
  bTaanShaN9kt 2023年11月02日 60 0

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。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

bTaanShaN9kt
最新推荐 更多

2024-05-31