温馨提示×

linux hdfs怎么查日志错

小樊
46
2026-09-13 16:41:41
栏目: 智能运维

在 Linux 上排查 HDFS 日志错误,一般从以下几个方向入手:


一、HDFS 日志文件位置

HDFS 日志默认在:

$HADOOP_HOME/logs/

常见日志文件:

  • NameNode 日志
    hadoop-<user>-namenode-<hostname>.log
    
  • DataNode 日志
    hadoop-<user>-datanode-<hostname>.log
    
  • SecondaryNameNode(如有)
    hadoop-<user>-secondarynamenode-<hostname>.log
    

示例:

tail -f $HADOOP_HOME/logs/hadoop-root-namenode-node1.log

二、常用排查命令

1. 实时查看错误日志

tail -n 200 $HADOOP_HOME/logs/hadoop-root-datanode-$(hostname).log | grep ERROR

2. 搜索关键字

grep -i "error\|exception\|fail" $HADOOP_HOME/logs/hadoop-*-namenode-*.log

3. 查看最近日志

tail -n 100 $HADOOP_HOME/logs/hadoop-root-namenode-$(hostname).log

三、用 HDFS 自带命令排查

1. 检查 HDFS 状态

hdfs dfsadmin -report

2. 检查文件系统健康

hdfs fsck /

常见错误:

  • CORRUPT:块损坏
  • UNDER_REPLICATED:副本不足

3. 查看 NameNode 安全模式

hdfs dfsadmin -safemode get

四、常见错误 & 原因

1. DataNode 无法连接 NameNode

日志关键字:

Connection refused

可能原因:

  • NameNode 没启动
  • core-site.xml 配置错误
  • 防火墙未关闭

检查:

jps

应有:

  • NameNode
  • DataNode

2. 块损坏(CORRUPT)

hdfs fsck / -delete

(⚠ 会删除损坏块)


3. 磁盘空间不足

日志:

No space left on device

检查:

df -h

五、Web UI 查看(推荐)

  • NameNode UI:
http://<namenode-ip>:9870
  • 查看:
    • Live Nodes
    • Dead Nodes
    • Logs

六、开启 DEBUG 日志(排错用)

修改:

$HADOOP_HOME/etc/hadoop/log4j.properties
log4j.logger.org.apache.hadoop.hdfs=DEBUG

重启 HDFS 生效。


如果你能贴出具体报错日志或命令输出,我可以直接帮你定位问题。

0