HDFS块大小配置指南
HDFS(Hadoop Distributed File System)的**块(Block)**是其核心存储单元,文件会被分割为固定大小的块并分布式存储在集群节点上。块大小的配置直接影响以下关键性能维度:
hdfs-site.xml文件)步骤:
hdfs-site.xml通常位于Hadoop安装目录的etc/hadoop子目录下(如/usr/local/hadoop/etc/hadoop/hdfs-site.xml)。<configuration>标签内添加或修改dfs.blocksize属性,单位为字节(Bytes)。例如:<property>
<name>dfs.blocksize</name>
<value>268435456</value> <!-- 256MB(256*1024*1024) -->
<description>The default block size for files (in bytes).</description>
</property>
$HADOOP_HOME/sbin/stop-dfs.sh # 停止HDFS
$HADOOP_HOME/sbin/start-dfs.sh # 启动HDFS
若无需永久修改,可通过命令行参数在启动HDFS时临时设置块大小,仅对当前会话有效:
$HADOOP_HOME/sbin/start-dfs.sh -D dfs.blocksize=268435456 # 设置为256MB
注意:临时配置在集群重启后会恢复为hdfs-site.xml中的默认值。
coalesce()操作将小文件合并为大文件。CombineFileInputFormat读取(将多个小文件合并为一个输入分片),减少Map任务数。hadoop fs -put或DistCp工具)。hdfs-site.xml前务必备份,防止配置错误导致集群无法启动。TestDFSIO工具进行读写性能测试(如hadoop jar hadoop-test.jar TestDFSIO -write -nrFiles 20 -fileSize 1024 -resFile write_test.log),对比吞吐量与延迟指标。