那我想问下,jobhistory server 上面的页面信息是不是从jobhistory上摘取的?然后jobhistory每个job都有logs,你会发现一个有趣的信息,程序在RUN状态下时,你调用logs,他应该是跳转到本地下的信息,而运行完毕的信息他会跳转到jobhistory上。 |
本帖最后由 easthome001 于 2017-4-10 17:23 编辑 sinv2015 发表于 2017-4-10 17:13 对于这个还真没有权威的解释。有两种办法: 1.楼主亲自测试下。 2.可以到官网看看有没有权威说明。 ################### 看了下官网,也没说明。 http://hadoop.apache.org/docs/r3.0.0-alpha2/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/HistoryServerRest.html 楼主可亲自测试下。 |
那jobhistory和ApplicationMaster Container存储的有什么区别么。jobhistory是用于显示jobhistory server的么 |
sinv2015 发表于 2017-4-10 16:02 楼主说的对的。 hadoop2.x 应用程序日志包括jobhistory日志和Container日志,其中,jobhistory日志是应用程序运行日志,包括应用程序启动时间、结束时间、每个任务的启动时间、结束时间、各种counter信息等。 Container日志包含ApplicationMaster日志和普通Task日志,它们均存放${HADOOP_HOME}/userlogs/application_xxx目录下,其中ApplicationMaster日志目录名称为container_xxx_000001,普通task日志目录名称则为container_xxx_000002,container_xxx_000003...,同Hadoop 1.x 一样,每个目录下包含三个日志文件:stdout、stderr和syslog,且具体含义是一样的。 |
关于问题1,虽然 ApplicationMaster是管理container的,但是ApplicationMaster本身也是一个container啊,它是由ResouceManager发起的,由NodeManager启动的Container,也就是说在本地上存在着ApplicationMaster的container000001 |
楼主看下图,在理解上有些偏差。 第一个问题: ApplicationMaster是管理container的,肯定是管理的日志,具体运行日志,则是Container来负责。 第二个问题: 是否采集,看你的配置,如果你配置聚合,那他肯定就采集,如果你没配置,它就不会采集。 还有一点,二者日志组合为history日志。并不是ApplicationMaster的日志就是history日志。 |