如何设置spark以使用特定数量的内核?

时间:2016-05-27 01:32:22

标签: apache-spark

我有3台机器,每台机器有12个核心。如何设置使用12核的火花?

在spark-env.sh我已经设置了内存,但我没有找到如何设置内核数量。你能帮忙吗?

export SPARK_WORKER_MEMORY=28G

2 个答案:

答案 0 :(得分:1)

在你的应用程序中,你可以sparkConfig.set(" spark.executor.cores",value)。这指的是每个执行程序的核心。

如果您正在使用spark-submit,您还可以使用--total-executor-cores或--executor-cores等选项。如果您正在使用纱线,您还可以选择dynamicAllocation。

http://spark.apache.org/docs/latest/submitting-applications.html http://spark.apache.org/docs/latest/configuration.html

答案 1 :(得分:1)

在所有计算机上的spark-env.sh中添加以下内容

export SPARK_WORKER_CORES=12

SPARK_WORKER_CORES指定允许Spark应用程序在计算机上使用的核心总数(默认值:所有可用核心)。

此外,如果您想在一台机器上安装两名工人,请尝试以下操作:

export SPARK_WORKER_INSTANCES=2
export SPARK_WORKER_CORES=6

这将启动两名每人6个核心的工人。

查看http://spark.apache.org/docs/latest/spark-standalone.html#cluster-launch-scripts了解详情。