Spark配置:内存/实例/核心

时间:2014-10-30 04:48:34

标签: apache-spark

最近,我发现自己在不同的SPARK设置spark.executor.memorySPARK_WORKER_MEMORYSPARK_MEMSPARK_MASTER_MEMORY以及与SPARK_WORKER_INSTANCES的关系中感到有些困惑SPARK_WORKER_CORES

我发现了这篇文章,但它没有讨论SPARK_MASTER_MEMORY Spark Configuration: SPARK_MEM vs. SPARK_WORKER_MEMORY

1 个答案:

答案 0 :(得分:15)

首先,关于术语的几句话。 Spark master是从奴隶协调资源分配的应用程序。 Master不执行任何计算。师父只是资源经理。

Spark worker是工作节点上的应用程序,它协调给定工作节点上的资源。

Spark执行程序是由spark worker创建的应用程序,它在驱动程序的工作节点上执行任务。

查看此文档以获取更多详细信息 - http://spark.apache.org/docs/latest/cluster-overview.html

spark.executor.memory - 是执行者的内存量。此内存用于给定的用户任务。

SPARK_WORKER_MEMORY - 工作人员可以使用多少系统内存来创建节点上的执行程序。例如,节点上有64gb。您将SPARK_WORKER_MEMORY设置为60gb。这意味着您可以创建2 x 30g执行程序或10 x 6gb执行程序,依此类推。

SPARK_MEM AFAIK已不再使用。我在当前的文档中找不到它

SPARK_MASTER_MEMORY是master的内存。不应该高:)

SPARK_WORKER_CORES是每个工作人员执行者使用的核心总数

SPARK_WORKER_INSTANCES是每个工作人员节点的工作人员数。

此处描述了所有这些参数 - http://spark.apache.org/docs/latest/spark-standalone.html