首页 > 解决方案 > emr-6.0.0-beta2 HiveLLAP 低 vCore 分配和利用率

问题描述

我有一个 21 节点的 Hive LLAP EMR 集群。Hive LLAP 守护程序不消耗可用的集群 VCPU 分配。160 个内核可用于 YARN,但每个 LLAP 守护程序仅使用 1 个 vCore。每个节点有 64 GB 内存和 8 个 vCore。每个节点运行 1 个 LLAP 守护程序并为其分配 70% 的内存,但只有 1 个 vCore。一些属性:

   yarn.nodemanager.resource.cpu-vcores=8;
    yarn.scheduler.minimum-allocation-vcores=1;
    yarn.scheduler.maximum-allocation-vcores=128;
    hive.llap.daemon.vcpus.per.instance=4;
    hive.llap.daemon.num.executors=4;

为什么守护进程没有分配超过 1 个 vcore ?执行程序是否能够使用可用的 vcore 或只能使用分配给守护程序的 1 个 vcore。

标签: amazon-web-serviceshivehadoop-yarndaemonamazon-emr

解决方案


如果你在 YARN ui 中看到这个,可能你必须添加这个

yarn.scheduler.capacity.resource-calculator: org.apache.hadoop.yarn.util.resource.DominantResourceCalculator

我也有同样的困惑。实际上,DefaultResourceCalculator在 Yarn UI 中使用时,它只计算内存使用情况,在后台它可能使用了超过 1 个核心,但您会看到只使用了 1 个核心。另一方面DominantResourceCalculator,计算核心和内存以进行资源分配,并显示核心和内存的实际数量。

您可以启用神经节或查看 EMR 指标以了解更多详细信息。


推荐阅读