温馨提示×

怎么查linux hadoop日志

小樊
46
2026-10-16 05:39:29
栏目: 智能运维

在 Linux 上查看 Hadoop 日志,通常有以下几种方式和位置,按使用频率由高到低说明:


一、通过 YARN / Hadoop Web 页面(最推荐)

如果集群开启了 Web UI:

  • YARN ResourceManager

    http://<resourcemanager-host>:8088
    

    找到对应 Application → 点击 Logs → 查看 stdout / stderr / syslog

  • HDFS NameNode

    http://<namenode-host>:9870
    

适合查“某个任务为什么失败”


二、直接在 Linux 节点上看日志文件(最常用)

1️⃣ Hadoop 系统日志(默认路径)

$HADOOP_HOME/logs/

常见文件:

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

查看示例:

tail -100f $HADOOP_HOME/logs/yarn-*-nodemanager-*.log

2️⃣ YARN 容器日志(任务级日志)

任务运行在 NodeManager 上,日志默认在:

$HADOOP_HOME/logs/userlogs/

结构:

userlogs/
 └── application_xxxx/
     └── container_xxxx/
         ├── stdout
         ├── stderr
         └── syslog

查看:

cat $HADOOP_HOME/logs/userlogs/application_*/container_*/stderr

三、通过 YARN 命令拉取日志(不在本地节点也能看)

yarn logs -applicationId application_1234567_0001

常用:

yarn logs -applicationId <appId> | less

需要 YARN 日志聚合开启(yarn.log-aggregation-enable=true)


四、HDFS 审计日志(查文件操作)

路径一般在 NameNode 日志中:

$HADOOP_HOME/logs/hadoop-*-namenode-*.log

搜索:

grep "audit" hadoop-*-namenode-*.log

五、常见排错命令

# 实时看日志
tail -f $HADOOP_HOME/logs/yarn-*-resourcemanager-*.log

# 查错误
grep -i error $HADOOP_HOME/logs/*.log

# 查某个任务
yarn application -list
yarn logs -applicationId <appId>

六、如果找不到日志

可能是:

  • 自定义了 HADOOP_LOG_DIR
  • 用了 journalnode / 外部日志系统(如 ELK)

检查:

echo $HADOOP_LOG_DIR
cat $HADOOP_HOME/etc/hadoop/yarn-site.xml | grep log

如果你愿意,可以告诉我:

  • 你是查 HDFS / YARN / MapReduce / Spark on Yarn 哪一类
  • 是 本机伪分布式 还是 集群

我可以直接给你最精准的命令。

0 踩