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



最近我发现自己有点混淆了不同的SPARK设置spark.executor.memorySPARK_WORKER_MEMORYSPARK_MEMSPARK_MASTER_MEMORY以及与SPARK_WORKER_INSTANCESSPARK_WORKER_CORES 的关系

我找到了这篇文章,但它没有讨论SPARK_MASTER_MEMORYSpark配置:Spark_MEM与Spark_WORKER_MEMORY

首先,只有几个关于术语的单词。Spark master是协调从机资源分配的应用程序。Master不执行任何计算。Master只是资源管理员。

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

Spark executor是由Spark worker创建的应用程序,它在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是主机的内存。不应过高:)

SPARK_WORKER_CORS是每个工作的执行器要使用的内核总数

SPARK_WORKER_INSTANCES是每个工作节点的工作线程数。

所有这些参数都在这里描述——http://spark.apache.org/docs/latest/spark-standalone.html

最新更新