Hadoop:为什么集群默认块大小是128MB

博客探讨了在MapReduce中FileInputFormat如何进行文件切片,并指出在Windows本地运行与集群上的Block大小差异,通常默认为128MB。Block大小的设定主要依据磁盘传输速率,以达到寻址时间与传输时间的理想比例。考虑到不同硬盘速度,例如机械硬盘、普通固态和PCIe固态,块大小分别可设为128MB、512MB和2048MB。博客内容强调了这一设计与磁盘性能的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在学习MapReduce中FileInuptFormat对文件切片的源码时,发现一个问题在本地windows运行时默认Block大小是32MB在集群上是128MB,突然联想到在HDFS中的块大小也是128MB
block块大小的设置:
HDFS中的文件在物理上是分块存储(Block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在Hadoop2.x版本中是128M,老版本中是64M。

为什么是128MB:
block块的大小主要取决于磁盘传输速率.
一般hdfs的寻址时间为10ms左右.
当寻址时间为传输时间的1%时为最佳状态,因此传输时间大概在1s左右.
机械硬盘文件顺序读写的速度为100MB/s,普通固态为500MB/s,pcie固态的速度可以达到2000MB/s,因此块的大小可以分别设为128MB,512MB,2048MB.

重申一遍:
block块的大小主要取决于磁盘传输速率.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值