HDFS中数据块概念及设置大小的学问

HDFS采用数据块存储,一般设置为64MB或128MB,以减少寻道时间,降低NameNode内存消耗。小于64MB会增加寻道时间和NameNode负担,远大于64MB则可能影响MapReduce效率,如Map崩溃恢复时间、监管时间估算和问题分解。HDFS块大小设置旨在平衡寻址和传输成本。
摘要由CSDN通过智能技术生成
HDFS数据块:

与一般文件系统一样,HDFS也有块(block)的概念,HDFS上的文件也被划分为块大小的多个分块作为独立的存储单元。

与通常的磁盘文件系统不同的是:

HDFS中小于一个块大小的文件不会占据整个块的空间(当一个1MB的文件存储在一个128MB的块中时,文件只使用1MB的磁盘空间,而不是128MB)

设置数据块的好处:

(1)一个文件的大小可以大于集群任意节点磁盘的容量

(2)容易对数据进行备份,提高容错能力

(3)使用抽象块概念而非整个文件作为存储单元,大大简化存储子系统的设计


问题:HDFS里面为什么一般设置块大小为64MB或128MB?
为什么不能远少于64MB?

(1)减少硬盘寻道时间。HDFS设计前提是应对大数据量操作,若数据块大小设置过小,那需要读取的数据块数量就会增多,从而间接增加底层硬盘的寻道时间

(2)减少NameNode内存消耗。由于NameNode记录着DataNode中的数据块信息,若数据块大小设置过小,则数据块数量增多,需要维护的数据块信息就会增多,从而消耗NameNode的内存。

为什么不能远大于64MB?

原因主要从上层的MapReduce框架来寻找。

(1)Map崩溃问题。系统需要重新启动,启动过程中需

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值