Spark独立编号执行器/内核控件

时间:2016-09-08 19:56:37

标签: apache-spark apache-spark-standalone

所以我有一个带有16个内核和64GB内存的spark独立服务器。我在服务器上运行主服务器和工作服务器。我没有启用动态分配。我在Spark 2.0

我不明白的是,当我提交工作并指明:

--num-executors 2
--executor-cores 2 

只应占用4个核心。然而,当提交作业时,它会占用所有16​​个内核,并且无论如何都会绕过num-executors参数旋转8个执行程序。但是如果我将executor-cores参数更改为4,它将相应地进行调整,并且4个执行器将会启动。

1 个答案:

答案 0 :(得分:12)

免责声明:我真的不知道--num-executors在独立模式下是否有效。我还没有看到它在YARN之外使用过。

注意:正如Marco --num-executors is no longer in use on YARN所指出的那样。

通过组合spark.cores.maxspark.executor.cores,执行者的数量被确定为:

,您可以通过静态分配有效地控制独立模式下执行者的数量(这也适用于Mesos)
floor(spark.cores.max / spark.executor.cores)

例如:

--conf "spark.cores.max=4" --conf "spark.executor.cores=2"