我对spark.cores.max定义感到困惑
我网上有的是
spark.cores.max represents the total number of CPU cores for the whole application
Run Code Online (Sandbox Code Playgroud)
我的集群有 8 个工作节点和 1 个主节点。每个节点都有 4 个核心和 100 GB 内存。
它是指每个工作节点的核心总数还是所有 8 个工作节点的核心总数?
如果我将spark.cores.max设置为12并且cores/executor设置为4,这意味着什么?
来自 Spark 文档:
当在独立部署集群或 Mesos 集群上以“粗粒度”共享模式运行时,跨集群(而不是每台机器)请求应用程序的最大 CPU 核心数。如果未设置,则 Spark 的独立集群管理器上的默认值将为 spark.deploy.defaultCores,或者 Mesos 上的无限值(所有可用核心)。
Spark.cores.max 限制 Spark 作业将使用的核心数量。如果不设置,它将使用“spark.deploy.defaultCores”值。
在您的示例中,spark.executor.cores = 4 和spark.cores.max = 12 将表示您的作业将具有三个执行器(12/4),每个执行器有4 个核心。
将spark.cores.max设置为12,核心/执行器为4
此属性将允许您在同一个 Spark 集群中同时运行多个作业。
问候
| 归档时间: |
|
| 查看次数: |
4908 次 |
| 最近记录: |