首页 > 其他 > 详细

为什么HDFS的block不能设置太大或太小

时间:2021-07-21 09:36:42      阅读:11      评论:0      收藏:0      [点我收藏+]

前言

寻址时间为传输时间的1%时,则为最佳状态。

一、HDFS 块设置的比较小会增加寻址时间,并且每个块在namenode都会存储一份元数据,增加namenode开销

一个大文件会被分为多个block存在hdfs中,而每个block对于磁盘来说就是一个文件。

该hdfs的大文件寻址时间是等于磁盘寻找每个block文件的总和。

而本地磁盘每寻找一个block文件都要寻址一次,每次寻址时间都差不多。所以block数量越多,寻址次数越多,则把该大文件的所有block寻找出来的总时间就越多。

二、HDFS块设置的比较大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。导致程序在处理这块数据时,会非常慢。

我们知道,hdfs存储大文件会把该文件分为多个块。

在mapreduce中,一个mapreduce程序要处理该文件,每个map都是一个客户端,但每个map都只分别下载一个block,对于整个mapreduce程序来说,下载该文件的时间就是下载一个块的时间。当block size比较小时,那么对于整个mapreduce来说,下载这个文件的时间就会很小。

再比如,本来存储空间只有8T,但是要把10T的数据存进去,就会导致存不进去,就会一直在寻找合适的位置来存储这10T数据。

总结

HDFS块的大小设置主要取决于磁盘传输速度

原文链接:https://blog.csdn.net/qq_36951116/article/details/102475331

为什么HDFS的block不能设置太大或太小

原文:https://www.cnblogs.com/chelseafan/p/15037397.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!