最近,我发现自己在不同的SPARK设置spark.executor.memory
,SPARK_WORKER_MEMORY
,SPARK_MEM
,SPARK_MASTER_MEMORY
以及与SPARK_WORKER_INSTANCES
的关系中感到有些困惑SPARK_WORKER_CORES
我发现了这篇文章,但它没有讨论SPARK_MASTER_MEMORY Spark Configuration: SPARK_MEM vs. SPARK_WORKER_MEMORY
答案 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