Hadoop YARN日志查看方式
实验环境CDH6.3.2
Hadoop版本
$ hadoop version
Hadoop 3.0.0-cdh6.3.2
Source code repository http://github.com/cloudera/hadoop -r 9aff20de3b5ecccf3c19d57f71b214fb4d37ee89
Compiled by jenkins on 2019-11-08T13:49Z
Compiled with protoc 2.5.0
From source with checksum f539c87da37534aad732f2a7ddcc59
This command was run using /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/jars/hadoop-common-3.0.0-cdh6.3.2.jar
Hive版本
hive> select version();
OK
2.1.1-cdh6.3.2 rb3393cf499504df1d2a12d34b4285e5d0c02be11
Time taken: 0.877 seconds, Fetched: 1 row(s)
运行一个示例MapReduce任务-计算圆周率
$ sudo -u hdfs hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 10 100
WARNING: Use "yarn jar" to launch YARN applications.
Number of Maps = 10
Samples per Map = 100
Wrote input for Map #0
...
Wrote input for Map #9
Starting Job
...
Job Finished in 26.594 seconds
Estimated value of Pi is 3.14800000000000000000
YARN日志重要性
应用程序日志(以及关联的Container日志)在对可能出现异常的YARN应用程序进行调试上、性能优化上相当重要。YARN提供了一个良好的框架,通过日志聚合收集、存储以及界面查看应用程序日志。
YARN提供了两种查看日志的方式
:ResourceManager Web UI
查看日志和Job HistoryServer Web UI
查看日志;一个是查看当前正在执行以及历史的所有任务,第二个是可以查看历史的所有任务。
ResourceManager Web UI
从CDH里面点击链接进行访问,默认是域名(hostname)和默认端口8088:
http://zlxx-test1-110:8088/cluster
zlxx-test1-110:YARN ResourceManager角色所在服务器的hostname。
8088:yarn-site.xml中配置的yarn.resourcemanager.webapp.address
默认值。
ResourceManager Web UI页面
如上图,最左边包含Cluster
和Tools
两个菜单。Cluster下面主要包括:About、Nodes、Node Labels和Applications、Scheduler。
查看已完成的YARN应用列表
http://zlxx-test1-110:8088/cluster/apps/FINISHED
Scheduler
YARN调度器的相关信息,最主要的是Application Queues
Tools
如果没有服务器登录或操作权限,则可以通过Tools下的Local Logs查看异常日志信息和Configuration服务器配置文件信息,比如搜索webapp.adress
配置。
http://zlxx-test1-110:8088/conf
Job HistoryServer Web UI
JobHistory是JobHistory Server上收集到的日志,内容只包括历史存档的YARN应用。
zlxx-test1-110:JobHistory Server角色所在服务器的hostname。
19888:yarn-site.xml中配置的mapreduce.jobhistory.webapp.address
默认值。
http://zlxx-test1-110:19888/jobhistory
Retired Jobs下有13列信息:
Submit Time
:MR Job的提交时间
Start Time
:MR Job的运行开始时间
Finish Time
:MR Job的运行结束时间
Job ID
:MR Job运行时被分配的Job ID
Name
:Job名称,一般不需要特别指定
User
:提交Job的用户,一般是对应的服务器所在的Linux用户
Queue
:提交Job的队列名称
State
:Job运行结束后的最终状态,SUCCESSED、KILLED、FAILED
Maps Total
:Job运行所分配的总的Map数量
Maps Completed
:运行完成的Map数量
Reduces Total
:Job运行所分配的总的Reduce数量
Reduces Completed
:运行完成的Reduce数量
Elapsed Time
:14:46:51-14:46:36=15sec,从Job运行开始到Job运行结束所消耗的时间(long)
图中Job提交时间是2020.12.11 14:46:27 CST
,Job运行开始时间是2020.12.11 14:46:36 CST
,从Job提交到Job运行开始,还会经历被YARN集群的调度队列Accept的过程,如果两个时间间隔比较长,则意味着YARN Scheduler的Queue资源利用紧张,需要注意集群队列的资源分配情况是否合理。
Job运行时分配的Map数量和最终完成的Map数量,可能由于集群节点故障或者Map失败,使得两个的数量不一致。
Reduce数量和Map是类似的。