有没有办法了解哪些执行程序用于java / scala代码中的作业?

时间:2015-09-22 08:14:38

标签: apache-spark

我无法在纱线群集的所有执行者之间均匀分配流媒体接收器。 我有一个带有8个执行器的纱线集群,我创建了8个流式自定义接收器,并且火花应该为每个执行器启动这些接收器。然而,这并不是一直发生的,有时所有的接收器都是在同一个执行器上启动的(这里是jira bug:https://issues.apache.org/jira/browse/SPARK-10730)。 所以我的想法是运行一个虚拟作业,获取参与该作业的执行程序,如果我获得了所有执行程序,则创建流接收器。 无论如何,我需要了解是否有办法了解哪些执行程序用于java / scala代码中的作业。

1 个答案:

答案 0 :(得分:-1)

我相信通过访问 Spark UI Spark 日志可以查看执行哪些工作的执行程序。来自官方1.5.0文档(here):

  

每个SparkContext默认在端口4040上启动Web UI,显示有关应用程序的有用信息。这包括:

     
      
  • 调度程序阶段和任务列表
  •   
  • RDD大小和内存使用情况摘要
  •   
  • 环境信息。
  •   
  • 有关正在运行的执行程序的信息
  •   

在以下屏幕中,您可以看到哪些执行程序处于活动状态。如果有未使用的核心/节点,您可以通过查看实际活动并正在运行的核心/节点来检测它们。

此外,每个执行程序都会显示有关正在其上运行的任务数量的信息。

enter image description here