我有3台机器,每台机器有12个核心。如何设置使用12核的火花?
在spark-env.sh我已经设置了内存,但我没有找到如何设置内核数量。你能帮忙吗?
export SPARK_WORKER_MEMORY=28G
答案 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了解详情。