HDFS数据块大小选择需综合以下因素:
- 默认值:Hadoop 2.x/3.x默认128MB,是平衡元数据开销与并行度的经验值。
- 按场景调整:
- 小文件多:选64-128MB,减少存储浪费,避免NameNode压力过大。
- 大文件/批处理:选256-512MB,提升顺序读写效率,降低传输次数。
- SSD环境:可设256-512MB,利用高传输速率。
- 动态监控:通过NameNode内存、Map任务执行时间等指标调整,例如内存>80%时增大块大小。
- 配置方式:修改
hdfs-site.xml中dfs.blocksize参数,支持按目录单独设置。
核心原则:在元数据开销、并行处理能力和硬件特性间找平衡,优先通过测试验证最优值。