在 Linux 上使用 Hadoop 时,排错一般遵循**“从日志入手 → 定位层级 → 逐项排查”**的思路。下面给你一套实用、可操作的排错方法。
Hadoop 常见故障层级:
$HADOOP_HOME/logs/
常见日志文件:
hadoop-<user>-namenode-<host>.loghadoop-<user>-datanode-<host>.logyarn-<user>-resourcemanager-<host>.logyarn-<user>-nodemanager-<host>.log实时查看:
tail -f $HADOOP_HOME/logs/hadoop-*-namenode-*.log
重点搜:
ERRORExceptionConnection refusedPermission deniedTimeoutNo route to hostjps
正常应有:
常见问题:
ssh-keygen
ssh-copy-id node2
systemctl stop firewalld
cat /etc/hosts
日志常见:
Directory /tmp/hadoop-xxx/dfs/name is in an inconsistent state
解决:
hdfs namenode -format
⚠️ 会清空 HDFS 数据,仅测试环境使用
日志:
Retrying connect to server: namenode/192.168.x.x:9000
检查:
core-site.xml 中 fs.defaultFS 是否正确telnet namenode 9000
错误:
Permission denied: user=xx, access=WRITE
解决:
hdfs dfs -chmod -R 777 /
# 或指定用户
hdfs dfs -chown -R user:user /
看:
yarn logs -applicationId application_xxxx
常见原因:
xmllint --noout core-site.xml
hdfs getconf -confKey fs.defaultFS
jps 进程是否齐全/etc/hosts 是否正确hdfs dfsadmin -safemode get
你可以直接把:
发给我,我可以帮你精准定位问题。