用mesos我可以在spark-submit中每个节点只启动一个执行器吗?

时间:2018-01-31 16:12:31

标签: apache-spark mesos spark-submit

我想知道在mesos上我们每个节点只能有一个执行器吗?

上下文 我在5个节点(工作人员)的集群上运行spark-submit(Spark 2.0.1)作业,每个节点具有80个CPU和512 GB内存,处于粗粒度模式。

Mesos运行模式部分中的Spark Running Spark on Mesos的官方文档说,在粗粒度模式下(默认)我可以设置两个参数:spark.executor.memory,{{1那个spark.executor.cores会给我许多执行者。

问题这是否正确?

我已经玩了一周的spark-submit设置,我能够在群集上获得的最大执行程序数为5(驱动程序为1,实际工作为4)。这基于Spark UI中的Executors选项卡。

我已经看到了这个StackOverflow问题:Understanding resource allocation for spark jobs on mesos据说:

  

在粗粒度模式下,Spark每个主机只启动一个执行程序

在Mesos 部分的Mastering Apache Spark 计划程序中,它说

  

在粗粒度模式下,每个Mesos执行器都有一个Spark执行器,有许多Spark任务。

我不明白这意味着什么。是否每个节点只有一个Mesos_executor,这意味着每个节点有一个Spark_executor?

如果所有这些都不属实,我可以有更多的执行者。

问题是否有一些限制执行者数量的mesos设置?

1 个答案:

答案 0 :(得分:1)

不再是真的了。 SPARK-5095 Support launching multiple mesos executors in coarse grained mesos mode已在Spark 2.0和to the merged PR中解决:

  

此PR实现了两个高级功能。这两个功能是相互依赖的,所以它们都在这里实现:

     
      
  • Mesos支持spark.executor.cores
  •   
  • 每个奴隶的多个执行者
  •