【发布时间】:2015-08-26 17:38:02
【问题描述】:
Yarn 资源管理器未显示 spark 应用程序的总内核数。 例如,如果我们提交一个包含 300 个执行器的 spark 作业,而 executor-cores 为 3。所以理想的 spark 有 900 个核心,但在纱线资源管理器中只显示 300 个核心。
所以这只是一个显示错误还是 Yarn 没有看到其余 600 个内核?
环境:HDP2.2 调度器:容量调度器 火花:1.4.1
【问题讨论】:
Yarn 资源管理器未显示 spark 应用程序的总内核数。 例如,如果我们提交一个包含 300 个执行器的 spark 作业,而 executor-cores 为 3。所以理想的 spark 有 900 个核心,但在纱线资源管理器中只显示 300 个核心。
所以这只是一个显示错误还是 Yarn 没有看到其余 600 个内核?
环境:HDP2.2 调度器:容量调度器 火花:1.4.1
【问题讨论】:
设置
yarn.scheduler.capacity.resource-calculator=org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
在capacity-scheduler.xml
YARN 运行的容器多于分配的内核,因为默认使用 DefaultResourceCalculator。它只考虑内存。
public int computeAvailableContainers(Resource available, Resource required) {
// Only consider memory
return available.getMemory() / required.getMemory();
}
使用DominantResourceCalculator,它同时使用cpu和内存。
您可以阅读有关 DominantResourceCalculator here 的更多信息。
【讨论】: