【发布时间】:2017-03-17 14:43:54
【问题描述】:
我正在使用一个管理 spark、mr 和 tez 应用程序的纱线集群。我想计算所有完成的应用程序从接受状态到运行状态的平均时间。我的问题是:
- 有比解析日志更简单的方法吗? 每个过去的应用程序并减去时间戳
- yarn 是否已经提供了类似的指标(基本上是用来估计应用程序运行前的平均等待时间)
谢谢!
【问题讨论】:
-
我不是这方面的专家,但我很快查看了 RMAppImpl 中的代码。似乎衡量从 ACCEPTED 到 RUNNING 所用时间的唯一方法确实是依赖“State change from”日志语句。您可能想探索历史服务器 REST API 提供的内容。它不存储如此细粒度的信息,但也许 job.submitTime 和 min(taskAttempt.startTime) 之间的差异是一个足够好的近似值。
标签: hadoop apache-spark hadoop-yarn hadoop2