在 Debian 上 Hadoop 运行慢,原因可能涉及系统配置、Hadoop 配置、硬件资源、网络、磁盘 IO等多个方面。下面按常见原因给你一个排查清单 + 优化建议,你可以逐条对照。
Hadoop 对磁盘 IO 非常敏感。
检查:
iostat -x 1
%util 接近 100% → 磁盘瓶颈建议:
ext4 或 xfsatime:mount -o remount,noatime /data
free -h
Swap 被大量使用,Hadoop 会非常慢建议:
YARN / HDFS 内存配置sysctl vm.swappiness=10
Hadoop 需要大量 fd。
ulimit -n
建议:
* soft nofile 65536
* hard nofile 65536
yarn-site.xml
yarn.nodemanager.resource.memory-mb
yarn.scheduler.maximum-allocation-mb
如果设太小,任务排队;太大,OOM。
常用经验:
mapreduce.job.maps = 磁盘数 × CPU核数
mapreduce.job.reduces = 0.95 × reducetask槽位
dfs.replication=3
测试环境可改为:
dfs.replication=1
mapreduce.map.java.opts
mapreduce.reduce.java.opts
避免过大堆内存。
Hadoop 极度依赖 hostname 解析。
检查:
hostname -f
ping $(hostname)
建议:
/etc/hosts 写死 IP推荐:
查看:
java -version
systemctl stop systemd-journald
(仅调试用)
top
iostat -x 1
free -h
hdfs dfsadmin -report
yarn node -list
你可以补充:
我可以直接帮你定位到具体配置项。