【问题标题】:Scheduler delay time in spark and YARNSpark 和 YARN 中的调度程序延迟时间
【发布时间】:2016-12-14 01:54:19
【问题描述】:

我在 Spark 中进行了一些检测,我意识到我的一些任务需要很长时间才能完成,因为可以从 TaskMetrics 中提取调度程序延迟时间。 我知道已经有一些关于这个主题的问题,比如What is scheduler delay in spark UI's event timeline,但答案还没有被接受,它说等待开放槽的任务被认为是调度程序延迟,我认为这不是真的(据我所知如果一个任务没有一个执行器的槽,它就不会开始生成指标)。

我对这个延迟真正从哪里开始有点困惑。我想知道这个延迟时间是否也考虑到应用程序被 YARN 客户端接受和提交应用程序的第一个作业之间的时间段。或者换句话说,在应用被接受的那一刻之间:

这个正在运行:

【问题讨论】:

    标签: apache-spark hadoop-yarn


    【解决方案1】:

    我通过启动一个集群中可用资源很少的应用程序直接进行了检查。它一直在队列中,直到可以为该阶段启动足够的执行器。然后yarn.Client在集群中启动了stage。 spark中的指标不认为队列中的这个时间有任何延迟。同样,如果您的任务比我在上面发布的堆栈溢出答案之类的核心多,也没关系。这些任务将在它们可用时在执行器中分配。

    简而言之,调度器延迟时间只考虑将任务发送给执行器。如果这里有延迟,YARN 不是瓶颈,而是相关节点的负载(通常是驱动程序和工作节点以及应用程序的执行程序)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-13
      • 2012-06-23
      • 1970-01-01
      • 1970-01-01
      • 2013-05-29
      • 2019-03-05
      • 2015-12-29
      • 2013-08-29
      相关资源
      最近更新 更多