在 Linux 上排查 HDFS 日志错误,一般从以下几个方向入手:
HDFS 日志默认在:
$HADOOP_HOME/logs/
常见日志文件:
hadoop-<user>-namenode-<hostname>.log
hadoop-<user>-datanode-<hostname>.log
hadoop-<user>-secondarynamenode-<hostname>.log
示例:
tail -f $HADOOP_HOME/logs/hadoop-root-namenode-node1.log
tail -n 200 $HADOOP_HOME/logs/hadoop-root-datanode-$(hostname).log | grep ERROR
grep -i "error\|exception\|fail" $HADOOP_HOME/logs/hadoop-*-namenode-*.log
tail -n 100 $HADOOP_HOME/logs/hadoop-root-namenode-$(hostname).log
hdfs dfsadmin -report
hdfs fsck /
常见错误:
CORRUPT:块损坏UNDER_REPLICATED:副本不足hdfs dfsadmin -safemode get
日志关键字:
Connection refused
可能原因:
core-site.xml 配置错误检查:
jps
应有:
hdfs fsck / -delete
(⚠ 会删除损坏块)
日志:
No space left on device
检查:
df -h
http://<namenode-ip>:9870
修改:
$HADOOP_HOME/etc/hadoop/log4j.properties
log4j.logger.org.apache.hadoop.hdfs=DEBUG
重启 HDFS 生效。
如果你能贴出具体报错日志或命令输出,我可以直接帮你定位问题。