微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

YARN上GCP Dataproc的自动缩放指标

如何解决YARN上GCP Dataproc的自动缩放指标

为什么GCP Dataproc的群集根据内存请求 NOT 内核使用YARN作为RM进行自动扩展?是Dataproc或YARN的限制,还是我缺少什么?

参考:https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/autoscaling

自动缩放将Hadoop YARN配置为基于 YARN内存请求而不是YARN核心请求来调度作业。

自动缩放围绕以下Hadoop YARN指标进行:

已分配内存是指在整个群集中运行容器所占用的总YARN内存。如果有6个运行中的容器可以使用多达1GB,则分配的内存为6GB。

可用内存是群集中未分配的容器使用的YARN内存。如果所有节点管理器上都有10GB的内存,而6GB的已分配内存,则有4GB的可用内存。如果群集中有可用(未使用)的内存,则自动扩展可能会从群集中删除工作线程。

待处理内存是对待处理容器的YARN内存请求的总和。待处理的容器正在等待在YARN中运行的空间。仅当可用内存为零或太小而无法分配给下一个容器时,待处理内存才为非零。如果有待处理的容器,则自动扩展可能会向群集添加工作线程。

解决方法

目前这是Dataproc的局限性。默认情况下,YARN根据内存请求查找容器的插槽,并完全忽略核心请求。因此,在默认配置中,Dataproc仅需要根据YARN暂挂/可用内存自动缩放。

在某些用例中,您想通过运行更多容器来超额预订YARN核心。例如,即使您只有4个物理核心,我们的默认distcp配置也可能在节点管理器上运行8个低内存容器。每个distcp任务在很大程度上受I / O约束,并且不会占用太多内存。因此,我认为保留仅基于内存进行调度的默认设置是合理的。

如果您也对基于YARN内核配置自动缩放感兴趣,我怀疑您已打开YARN的DominantResourceCalculator来使YARN在内存和内核上进行调度。支持DominantResourceCalculator是我们的路线图。但是我们一直在优先考虑自动缩放稳定性修复程序。随时私下联系dataproc-feedback@google.com,以向我们详细介绍您的用例。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。