Spark History Server Spark UI Jobs 部分中的 'Active Jobs' 是什么

What is 'Active Jobs' in Spark History Server Spark UI Jobs section

我正在尝试了解 Spark History 服务器组件。 我知道,历史服务器显示已完成的 Spark 应用程序。

尽管如此,对于已完成的 Spark 应用程序,我看到 'Active Jobs' 设置为 1。我试图了解 'Active Jobs' 在“工作”部分中的含义。 此外,应用程序在 30 分钟内完成,但当我在 8 小时后打开历史服务器时,'Duration' 显示 8.0h。 请看截图。

你能帮我理解上图中的 'Active Jobs'、'Duration' 和 'Stages: Succeeded/Total' 项吗?

在 Spark 应用程序中调用一个动作(在您的情况下计数是动作)会触发作业的启动来完成它。 Spark 检查该操作所依赖的数据集并制定执行计划。执行计划将数据集转换组装成阶段。

一个stage是执行计划的一个物理单元。简而言之,Stage 是一组并行任务 ,即每个分区一个任务。基本上,每个被分成更小任务集的工作都是一个阶段。虽然,这完全取决于彼此。但是,它与 MapReduce 中的 map 和 reduce 阶段有些相同。

每种 Spark 阶段的详细信息:

一个。 Spark 中的 ShuffleMapStage ShuffleMapStage 被认为是 DAG 物理执行中的中间 Spark 阶段。 基本上,它为另一个阶段生成数据。 将 Spark 中的 ShuffleMapStage 视为阶段 DAG 中其他后续 Spark 阶段的输入。 但是,在ShuffleMapStage中,有可能存在n个多个流水线操作。 像 map 和 filter,在 shuffle 操作之前。此外,我们可以在不同的作业之间共享单个 ShuffleMapStage。

b. Spark 中的 ResultStage 通过 运行 spark RDD Stage 上的函数,它在用户程序中执行 Spark 操作,ResultStage.It 被认为是 spark 中的最后阶段。 ResultStage 意味着作为作业的最后阶段,将函数应用于 Spark 中目标 RDD 的一个或多个分区,有助于计算操作的结果。

回到历史服务器上活跃工作的问题,官方文档上列出了一些注释 作为 history server.Also there is jira [SPARK-7889] 关于同一 link 的问题。 有关详细信息,请关注 link source-1

经过一番研究,终于找到了我的问题的答案。

一个Spark应用由一个driver和一个或多个executor组成。驱动程序实例化 SparkContext,它将执行程序协调到 运行 Spark 应用程序。此信息显示在 Spark History Server Web UI“Active Jobs”部分。

驱动分配的执行者运行个任务。

当 Spark 应用程序 运行 在 YARN 上运行时,它有自己的 yarn client 和 yarn application master 实现。 YARN 应用程序在节点管理器上有一个 yarn 客户端、yarn 应用程序主机和容器列表 运行ning。

在我的例子中,Yarn 在独立模式下 运行ning,因此驱动程序 运行ning 作为 yarn 应用程序主机的线程。 Yarn 客户端从 application master 拉取状态,application master 将容器协调到 运行 任务。

此 运行ning 作业可以在 Cloudera Manager 管理控制台的 YARN 应用程序页面中监控,而它 运行ning.

如果申请成功,那么历史服务器将显示“已完成的工作”列表以及“活动工作”部分将是移除.

如果应用程序在容器级别失败并且 YARN 将此信息传达给驱动程序,那么历史服务器将显示“失败的作业”以及“活动的列表工作”部分将被删除

尽管如此,如果应用程序在容器级别失败并且 YARN 无法将其传达给驱动程序,那么驱动程序实例化的作业将进入遗忘状态。它认为作业仍在 运行 并一直等待 YARN 应用程序主机的作业状态。因此,在 History Server 中,它仍然在“Active Jobs”中显示为 运行ning.

所以我的收获是: 要检查 运行ning 作业的状态,请转到 Cloudera Manager 管理控制台中的 YARN 应用程序页面或使用 YARN CLI 命令。 作业 completion/failure 后,打开 Spark History Server 以获取有关资源使用、DAG 和执行时间线信息的更多详细信息。