yarn-client上的Spark执行器不执行执行程序核心计数配置。

时间:2015-10-20 22:46:10

标签: apache-spark yarn

无论火花执行者的核心数量如何,执行者的纱线容器都不会使用超过1个核心。

1 个答案:

答案 0 :(得分:6)

YARN每个执行者显示1个核心而不管spark.executor.cores,因为默认使用DefaultResourceCalculator。它只考虑记忆。

public int computeAvailableContainers(Resource available, Resource required) {
// Only consider memory
return available.getMemory() / required.getMemory();
  }

使用DominantResourceCalculator,它使用cpu和内存。

capacity-scheduler.xml

中设置以下配置
yarn.scheduler.capacity.resource-calculator=org.apache.hadoop.yarn.util.resource.DominantResourceCalculator

有关DominantResourceCalculator

的更多信息