任务正在运行
如果运行在 YARN 模式,可以在 ResourceManager 节点的 WEB UI 页面根据 任务状态、用户名 或者 applicationId Search 到应用。
Tracking UI
列的History 链接;Tracking URL: History
链接就进入到Spark作业监控的 WEB UI 界面,这个页面就是对应 Spark 应用程序历史执行界面:
到这个界面之后,可以点击 Executors 菜单,这时可以进入到 Spark 程序的 Executors 界面,里面列出所有Executor信息,以表格的形式展示,在表格中有 Logs 这列,里面就是Spark应用程序运行的日志。
任务正在运行
目录位置在Yarn配置里面的yarn.nodemanager.log-dirs
中设置;
如设置的是/data1/hadoop/yarn/log
:
yarn logs -applicationId
命令查看任务运行完成
最简单地收集日志的方式是使用 YARN 的日志收集工具(yarn logs -applicationId
),这个工具可以收集你应用程序相关的运行日志;
需要开启日志聚合功能(yarn.log-aggregation-enable
,在默认情况下,这个参数是 false),下面会详细讲到。
$ yarn logs -applicationId application_1537448956025_2409589 | head
18/10/20 17:14:06 INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm130
Unable to get ApplicationState. Attempting to fetch logs directly from the filesystem.
Container: container_e93_1537448956025_2409589_01_000232 on bigdata-offline-hadoop0100.bjthq.arganzheng.lan_8041
============================================================================================================
LogType:container-localizer-syslog
Log Upload Time:Fri Oct 19 10:11:06 +0800 2018
LogLength:168
Log Contents:
2018-10-19 09:46:41,580 WARN [main] org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ContainerLocalizer: Localization running as nobody not xfhuang
日志聚集是YARN提供的日志中央化管理功能,它能将运行完成的Container/任务日志上传到HDFS上,从而减轻NodeManager负载,且提供一个中央化存储和分析机制。默认情况下,Container/任务日志存在在各个NodeManager上,如果启用日志聚集功能需要额外的配置。 这个日志存储的就是具体map和reduce的日志,包括框架的和应用程序里自己打印的。这个日志聚合是用来看日志的,而mapreduce job history server,则是用来看某个application的大致统计信息的,包括启停时间,map任务数,reduce任务数以及各种计数器的值等等。job history server是抽象概要性的统计信息,而聚合日志是该application所有任务节点的详细日志集合。
要实现日志聚集,需要在yarn-site.xml
文件中配置如下几个参数:
yarn logs -applicationId
命令查看。