hdfs 块(block) 大小的影响
hdfs 会将文件划分为块(block),进行存储,每个块默认会备份成三份存储在不同的DataNode节点上,一般情况下块的默认大小是 64MB或者128MB,这样做的好处是
- 减少磁盘寻址时间
- 减少NameNode记录block和DataNode的开销
注意 如果一个文件小于块的默认大小,不会占据整个块.另外块的大小不能过于大因为
- mapreduce中 map任务通常一次只处理一个块中的数据,因此如果任务太少 少于集群中的节点数,作业的运行速度会比较慢
- 块过大不利于节点检查块是否丢失,因为预设的检查时间是根据块的大小决定的,如果过大时间会很长,影响精确性