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

San*_*mar 4 hadoop-yarn apache-spark

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

ban*_*ara 7

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

public int computeAvailableContainers(Resource available, Resource required) {
// Only consider memory
return available.getMemory() / required.getMemory();
  }
Run Code Online (Sandbox Code Playgroud)

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

在config下面设置 capacity-scheduler.xml

yarn.scheduler.capacity.resource-calculator=org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
Run Code Online (Sandbox Code Playgroud)

有关DominantResourceCalculator的更多信息