"yarn.scheduler.minimum-allocation-vcores"和yarn.scheduler.maximum-allocation-vcores"在决定否中的作用。容器/节点数?



我实际上是在试图弄清楚单个节点管理器中有多少个容器。它取决于哪些因素?"yarn.scheduler.minimum-allocation-vcores"和"yarn.scheduler.maximum-allocation-vcores"在决定每个节点的容器数量方面扮演什么角色?

yarn 中的默认资源调度程序是容量调度程序。

容量计划程序有两个资源计算器

    默认
  1. 资源计算器(默认)

  2. 主导资源计算器

DefaultResourceCalculator 仅使用内存来计算可用容器

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

DominantResourceCalculator同时使用内存和内核

  public int computeAvailableContainers(Resource available, Resource required) {
    return Math.min(
        available.getMemory() / required.getMemory(), 
        available.getVirtualCores() / required.getVirtualCores());
  }

yarn.scheduler.minimum-allocation-vcoresyarn.scheduler.maximum-allocation-vcores在决定每个节点的容器数量方面没有任何直接作用。

在请求资源时,应用程序告诉纱线内存和核心它需要每个容器

在mapreduce中,我们指定了mapreduce.map.cpu.vcoresmapreduce.reduce.cpu.vcores所需的vcore。

在 Spark 中,我们指定spark.executor.cores所需的 vcore

yarn.scheduler.minimum-allocation-vcoresyarn.scheduler.maximum-allocation-vcores 用于定义每个容器可分配的最小和最大 vcore 数。

相关内容

  • 没有找到相关文章

最新更新