无论火花执行者的核心数量如何,执行者的纱线容器都不会使用超过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
的更多信息