繁体   English   中英

Spark Standalone Number Executors/Cores 控制

[英]Spark Standalone Number Executors/Cores Control

所以我有一个带有 16 个内核和 64GB RAM 的 Spark 独立服务器。 我在服务器上同时运行 master 和 worker。 我没有启用动态分配。 我在 Spark 2.0

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

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

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

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

注意:正如Marco --num-executors所指出的, 不再在 YARN 上使用

您可以通过将spark.cores.maxspark.executor.cores组合起来,通过静态分配(这也适用于 Mesos)在独立模式下有效控制执行spark.executor.cores数量,其中执行程序的数量确定为:

floor(spark.cores.max / spark.executor.cores)

例如:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM