Apache spark spark.cores.max是如何工作的?

Apache spark spark.cores.max是如何工作的?,apache-spark,Apache Spark,我对spark.cores.max定义感到困惑 我在网上看到的是 spark.cores.max represents the total number of CPU cores for the whole application 我的集群有8个工作节点和1个主节点。其中每个节点有4个内核和100 GB ram 它是指每个工作节点或所有8个工作节点中的内核总数 如果我将spark.cores.max设置为12,cores/executor为4,这意味着什么?来自spark文档: 当以“粗粒度”

我对
spark.cores.max
定义感到困惑

我在网上看到的是

spark.cores.max represents the total number of CPU cores for the whole application
我的集群有8个工作节点和1个主节点。其中每个节点有4个内核和100 GB ram

它是指每个工作节点或所有8个工作节点中的内核总数

如果我将spark.cores.max设置为12,cores/executor为4,这意味着什么?

来自spark文档:

当以“粗粒度”共享模式在独立部署群集或Mesos群集上运行时,整个群集(而不是每台机器)中请求应用程序的最大CPU内核数。如果未设置,默认值将是spark的独立群集管理器上的spark.deploy.defaultCores,或Mesos上的infinite(所有可用核心)

spark.cores.max限制spark作业将使用的磁芯数。如果不进行设置,它将使用“spark.deploy.defaultCores”值

在您的示例中,spark.executor.cores=4和spark.cores.max=12表示您的作业将有三个执行器(12/4),每个执行器有4个核心

将spark.cores.max设置为12,cores/executor为4

此属性允许您在同一个spark群集中同时运行多个作业


关于

您是指整个集群中的3个执行者还是整个集群中的单个节点中的3个执行者。