阅读量:3
Linux系统下查看Hadoop日志的方法
1. 日志文件的位置
Hadoop的日志主要分为系统服务日志和应用/作业日志,默认存储路径由$HADOOP_HOME(Hadoop安装目录)决定:
- 系统服务日志(NameNode、DataNode、ResourceManager、NodeManager等核心组件):位于
$HADOOP_HOME/logs目录下,文件命名规则为hadoop-*-<组件名>-(如.log hadoop-hadoop-namenode-master.log、yarn-hadoop-resourcemanager-slave1.log)。 - 应用/作业日志(用户提交的MapReduce或Spark作业):
- YARN的JobHistory日志(记录作业整体运行信息):默认路径为
$HADOOP_HOME/logs/history(可通过yarn.job.history.location参数配置); - Container日志(记录单个Task的运行细节,包括stdout、stderr、syslog):位于
$HADOOP_HOME/userlogs/目录下(如/ container_1716480000000_0001_01_000001)。
- YARN的JobHistory日志(记录作业整体运行信息):默认路径为
2. 常用命令行查看方法
Linux下可通过以下命令快速查看Hadoop日志:
tail命令:实时追踪日志文件的最新内容(适用于故障排查时监控实时日志),例如:tail -f $HADOOP_HOME/logs/hadoop-hadoop-namenode-master.log # 实时查看NameNode日志 tail -f $HADOOP_HOME/logs/yarn-hadoop-resourcemanager-slave1.log # 实时查看ResourceManager日志grep命令:搜索日志中的关键字(如“ERROR”“WARN”),快速定位问题,例如:grep "ERROR" $HADOOP_HOME/logs/*.log # 在所有日志文件中搜索ERROR信息 grep "Connection refused" $HADOOP_HOME/logs/hadoop-hadoop-datanode-slave2.log # 搜索DataNode连接拒绝错误less命令:分页查看大型日志文件(支持上下翻页、搜索),例如:less $HADOOP_HOME/logs/hadoop-hadoop-datanode-slave2.log # 打开DataNode日志 /2025-10-25 # 在less中搜索特定时间点的日志 q # 退出lesscat命令:快速查看小型日志文件的全部内容(不适用于大型文件),例如:cat $HADOOP_HOME/logs/hadoop-hadoop-namenode-master.log | head -n 50 # 查看NameNode日志前50行
3. 通过Hadoop命令查看日志
yarn logs命令:直接获取YARN应用程序的日志(无需手动查找userlogs目录),需指定应用程序ID(可通过yarn application -list获取),例如:yarn logs -applicationId application_1716480000000_0001 # 查看指定应用的日志hadoop fs命令:查看HDFS中存储的系统日志(如NameNode的EditLog),例如:hadoop fs -ls /var/log/hadoop/hdfs # 列出HDFS中的HDFS日志目录 hadoop fs -cat /var/log/hadoop/hdfs/namenode.log # 查看HDFS NameNode日志(需提前上传至HDFS)
4. 通过Web界面查看日志
Hadoop提供了Web界面方便远程查看日志:
- ResourceManager Web界面:访问
http://,点击“Applications”→选择具体应用→“Logs” tab,即可查看该应用的Container日志(stdout/stderr/syslog)。:8088 - NameNode Web界面:访问
http://(Hadoop 2.x为50070,3.x可能为9870),点击“Logs”链接,查看NameNode服务日志。:50070
5. 日志集中化管理(可选)
若集群规模较大,可将日志上传至HDFS或第三方日志系统(如ELK、Flume),实现集中存储、检索和分析。例如,通过hadoop fs -put命令将本地日志上传至HDFS:
hadoop fs -put $HADOOP_HOME/logs/*.log /var/log/hadoop/centralized_logs/
以上方法覆盖了Linux系统下查看Hadoop日志的常见场景,可根据实际需求选择合适的方式。例如,实时监控用tail -f,快速定位错误用grep,查看应用日志用yarn logs,远程查看用Web界面。
以上就是关于“Linux系统里Hadoop的日志如何查看”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm