Ubuntu 上 HDFS 性能优化实战指南
一 硬件与操作系统层优化
mount -o remount /your/disk。blockdev --setra 2048 /dev/sdX(顺序读场景收益明显,过大无益)。net.core.rmem_max/net.core.wmem_max=16777216,net.ipv4.tcp_rmem/tcp_wmem="4096 87380 16777216",net.core.somaxconn=65535,net.ipv4.ip_local_port_range="1024 65535",进程文件描述符 ulimit -n 65535。二 HDFS 关键参数调优
<property><name>dfs.blocksize</name><value>268435456</value></property>(256MB)<property><name>dfs.replication</name><value>3</value></property>(热点可客户端侧临时提高)<property><name>dfs.namenode.handler.count</name><value>64</value></property><property><name>dfs.datanode.handler.count</name><value>32</value></property><property><name>dfs.datanode.max.transfer.threads</name><value>4096</value></property><property><name>io.file.buffer.size</name><value>131072</value></property>(128KB)<property><name>dfs.datanode.data.dir</name><value>/data1/hdfs,/data2/hdfs</value></property><property><name>io.file.buffer.size</name><value>131072</value></property>hadoop archive -archiveName myhar.har -p /user/ubuntu /user/my三 与 YARN 和作业的协同优化
<property><name>yarn.nodemanager.resource.memory-mb</name><value>8192</value></property><property><name>yarn.nodemanager.resource.cpu-vcores</name><value>8</value></property><property><name>mapreduce.map.output.compress</name><value>true</value></property><property><name>mapreduce.output.fileoutputformat.compress</name><value>true</value></property><property><name>mapreduce.job.locality.wait</name><value>30000</value></property>(单位毫秒)四 监控 维护与压测闭环