You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询Spark作业在YARN中处于accepted状态的时长 含历史已结束作业

Spark作业YARN Accepted状态等待时长查询方案

1. YARN UI原生支持查询

无论是运行中还是已结束的作业,都可以直接在YARN侧查到该数据:

  • 运行中作业直接打开YARN ResourceManager UI的对应作业详情页,在状态时间线区域找到Accepted状态的时间戳,和首次资源分配后进入Running状态的时间戳,二者差值就是你需要的资源分配前等待总时长
  • 已结束的作业访问YARN历史服务器UI的作业详情页,同样可以拿到完整的状态流转时间戳计算结果,部分版本的YARN UI会直接展示Accepted to Running的时长,无需手动计算

2. Spark侧支持的查询方式

Spark本身也会记录相关时间戳,不需要依赖YARN侧数据也能查询:

  • Spark History Server查询:进入已结束作业的历史页面,在Environment标签页的属性列表中,找到spark.app.startTime(作业提交到YARN的时间)和spark.driver.startTime(YARN分配资源后Driver启动的时间),二者差值基本等价于Accepted状态等待时长,误差通常小于1秒,仅包含作业提交到YARN登记的极小耗时
  • API批量获取:如果需要批量统计大量作业的该指标,可以调用REST接口拉取数据:
    • YARN侧调用路径为/ws/v1/cluster/apps/<your-application-id>的接口,提取返回报文中的acceptedTime和startedTime字段计算即可
    • Spark History Server侧也有对应接口返回作业的启动相关时间戳,可按需选用

3. 历史数据已从UI清理后的获取方式

如果YARN和Spark历史服务器上已经清理了该作业的记录,可以从HDFS上存储的原始日志提取:

  • 找到YARN存储应用日志的HDFS路径,默认路径为/apps/logs/<submit-user>/logs/<application-id>/
  • 解析对应的作业summary日志文件,或者ResourceManager的审计日志,提取作业被YARN接受的时间、首次分配资源启动的时间,计算差值即可

内容的提问来源于stack exchange,提问作者Rachit Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 07:09:05