温馨提示×

linux hadoop怎样排错日志

小樊
45
2026-10-04 13:13:46
栏目: 智能运维

在 Linux 上排查 Hadoop 问题,核心就是看日志 + 看进程 + 看配置。下面按“从哪看 → 看什么 → 常用命令 → 常见错误”给你一个实用排查指南。


一、Hadoop 日志在哪

1. 默认日志目录

$HADOOP_HOME/logs/

常见文件:

  • hadoop-<user>-namenode-<host>.log
  • hadoop-<user>-datanode-<host>.log
  • hadoop-<user>-resourcemanager-<host>.log
  • hadoop-<user>-nodemanager-<host>.log

2. YARN 任务日志

yarn logs -applicationId application_xxxx

3. 系统日志(辅助)

/var/log/messages
/var/log/syslog
journalctl -xe

二、排错基本流程

1️⃣ 看进程是否起来

jps

正常应有:

  • NameNode
  • DataNode
  • ResourceManager
  • NodeManager

❌ 少了哪个,就看对应日志


2️⃣ 看 Hadoop 自身日志(最重要)

tail -n 200 $HADOOP_HOME/logs/hadoop-*-namenode-*.log
tail -n 200 $HADOOP_HOME/logs/hadoop-*-datanode-*.log

重点看:

  • ERROR
  • Exception
  • FATAL
  • Connection refused

3️⃣ 看 Web UI(非常直观)

  • NameNode: http://namenode:9870
  • ResourceManager: http://rm:8088

看:

  • 节点是否活着
  • 磁盘是否满
  • 任务失败原因

三、常用排错命令

查端口

netstat -tunlp | grep 9870
ss -tunlp | grep 8088

查磁盘

df -h

查防火墙

systemctl status firewalld
iptables -L

查 Hadoop 状态

hdfs dfsadmin -report
yarn node -list

四、常见错误 & 解决

❌ 1. Connection refused

原因:

  • 服务没起
  • IP / hostname 配置错
  • 防火墙

解决:

jps
cat /etc/hosts
systemctl stop firewalld

❌ 2. NameNode 起不来

常见原因:

  • 没格式化
hdfs namenode -format
  • 多次格式化导致 clusterID 不一致

解决:

  • 删 dfs/name 和 dfs/data 后重新 format

❌ 3. DataNode 不注册

日志常见:

Incompatible clusterIDs

解决:

  • 删除 datanode 数据目录
  • 或统一 clusterID

❌ 4. 磁盘满

日志:

No space left on device

解决:

df -h
rm 旧日志

❌ 5. 权限问题

Permission denied

解决:

chown -R hadoop:hadoop /data/hadoop

五、排错思路总结(记住这个)

进程 → 日志 → 端口 → 配置 → 磁盘/权限


如果你愿意,可以把具体报错日志贴出来(NameNode / DataNode / YARN 都行),我可以直接帮你精确定位问题。

0 踩