纱线资源管理器中未显示 Spark 执行器核心

Spark executor cores not shown in yarn resource manager

Yarn 资源管理器未显示 spark 应用程序的总内核数。 例如,如果我们提交一个有 300 个执行程序的 spark 作业,executor-cores 是 3。那么理想情况下 spark 有 900 个内核,但在 yarn 资源管理器中只显示 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