Ubuntu Hadoop 日志查看方法
小樊
48
2025-11-23 04:22:46
Ubuntu Hadoop 日志查看方法
一 日志位置与目录结构
- 服务日志默认位于 Hadoop 安装目录的 $HADOOP_HOME/logs,常见文件命名模式:
- HDFS:hadoop-<用户名>-namenode-<主机名>.log、hadoop-<用户名>-datanode-<主机名>.log
- YARN:yarn-<用户名>-resourcemanager-<主机名>.log、yarn-<用户名>-nodemanager-<主机名>.log
- 作业日志(MapReduce on YARN)位于 $HADOOP_HOME/logs/userlogs/,按应用与容器分层,每个容器目录包含 stdout、stderr、syslog 三个文件,用于定位任务运行输出与异常。
- 日志目录可通过环境变量 HADOOP_LOG_DIR 自定义(例如在 hadoop-env.sh 中设置)。
二 命令行快速查看
- 实时查看:tail -f
- 示例:tail -f $HADOOP_HOME/logs/hadoop--namenode-.log
- 检索关键字:grep
- 示例:grep -n “ERROR” $HADOOP_HOME/logs/*.log
- 分页查看大文件:less
- 示例:less $HADOOP_HOME/logs/yarn--resourcemanager-.log(在 less 中可用 / 搜索,q 退出)
- 查看文件开头:head
- 示例:head -n 200 $HADOOP_HOME/logs/hadoop--datanode-.log
- 以上命令可组合使用,如先定位 ERROR 再分页细看对应行上下文。
三 按组件定位常见故障
- 先确认进程是否存活:jps
- 正常应见到 NameNode、DataNode、ResourceManager、NodeManager 等进程,缺失则优先查对应服务日志。
- NameNode 无法启动
- 查看:hadoop--namenode-.log;常见为元数据或配置问题,必要时按规范重新格式化:hdfs namenode -format(仅在确认安全的前提下执行)。
- DataNode 无法启动
- 查看:hadoop--datanode-.log;核对 hdfs-site.xml 中 dfs.datanode.data.dir 等配置与目录权限。
- ResourceManager / NodeManager 异常
- 查看:yarn--resourcemanager-.log、yarn--nodemanager-.log;核对 yarn-site.xml 与节点资源、网络连通性。
- 节点间网络问题
- 使用 ping 测试连通性,排查防火墙/安全组策略。
四 Web 界面查看
- HDFS NameNode Web UI:默认 50070(查看集群概况、节点健康、日志入口等)
- YARN ResourceManager Web UI:默认 8088(查看应用列表、容器日志聚合入口、节点状态)
- 在 UI 中可直接跳转到对应节点的日志页面,便于跨节点问题定位。
五 YARN 作业日志与日志聚合
- 查看应用日志(聚合或本地)
- 聚合日志(推荐):yarn logs -applicationId <app_id>
- 如未启用聚合,到各节点的 $HADOOP_HOME/logs/userlogs/<app_id>/ 下按容器查看 stdout/stderr/syslog。
- 作业历史与审计
- 历史服务器(JobHistory)日志默认在 $HADOOP_HOME/logs/history/,用于查看作业级启动/结束时间、计数器等信息。