在 Linux 上运行 Hadoop 感觉“慢”,通常不是单一原因,而是环境、配置、资源、数据规模、使用方式共同作用的结果。下面按常见原因系统说明,并给出排查与优化建议。
表现
排查
free -h
top
jstat -gc <pid>
建议
yarn.nodemanager.resource.memory-mbmapreduce.map.memory.mbmapreduce.reduce.memory.mb排查
nproc
top
Hadoop 是 IO 密集型
慢磁盘典型
排查
iostat -x 1
建议
/ 和 dfs.data.dir 同盘ulimit -n
默认 1024 对 Hadoop 太小
解决
/etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
Swap 会严重拖慢 Hadoop
swapoff -a
永久关闭:
/etc/fstab # 注释 swap 行
systemctl stop firewalld
setenforce 0
dfs.replication=3
dfs.blocksize
yarn.nodemanager.resource.memory-mb
yarn.scheduler.maximum-allocation-mb
常见错误
Hadoop 最怕小文件
后果
解决
现象
ping <hostname>
date
free -h
df -h
iostat -x 1
top
jps
yarn node -list
hdfs dfsadmin -report
你可以告诉我:
我可以直接帮你看配置、给优化参数。