Linux 与 HDFS 联动的网络传输优化指南
一 网络与内核层优化
二 HDFS 关键参数与读写路径优化
三 端口 防火墙与 DNS 配置
四 监控 验证与回退
五 示例参数与命令清单
* soft nofile 65536
* hard nofile 65536
fs.file-max = 131072
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.core.somaxconn = 32768
net.ipv4.tcp_max_syn_backlog = 1024
应用:sysctl -pethtool -l eth0 # 查看队列
ethtool -L eth0 combined 8 # 绑定至多队列(示例)
# 将各队列 IRQ 绑定至不同 CPU(/proc/irq/*/smp_affinity_list)
<!-- 块大小 256MB -->
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>
<!-- 短路读 -->
<property>
<name>dfs.client.read.shortcircuit</name>
<value>true</value>
</property>
<!-- DataNode 传输并发 -->
<property>
<name>dfs.datanode.max.transfer.threads</name>
<value>8192</value>
</property>
<!-- 本地性等待(MR 作业) -->
<property>
<name>mapreduce.job.locality.wait</name>
<value>300000</value> <!-- 5 分钟 -->
</property>
firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --permanent --add-port=50010/tcp
firewall-cmd --reload
nload
iftop -P
iptraf-ng