我记得最新版本的YARN有一个配置参数,可以控制作业可以使用的内存量(或核心数)。我试图从网上找到它但我还不能。如果您知道参数,请告诉我。
我知道一种方法是使用某种调度程序但是现在我需要一个作业级别控制,这样作业就不会滥用整个系统。
谢谢!
答案 0 :(得分:0)
您可以控制分配给每个容器的最大和最小资源。
yarn.scheduler.minimum-allocation-mb
:每个容器的最小内存分配yarn.scheduler.maximum-allocation-mb
:每个容器的最大内存分配yarn.scheduler.minimum-allocation-vcores
:每个容器的最小核心分配yarn.scheduler.maximum-allocation-vcores
:每个容器的最大核心分配如果您想避免滥用用户作业,yarn.scheduler.maximum-allocation-*
可以成为解决方案,因为RM会通过抛出InvalidResourceRequestException
来拒绝超出这些限制的请求。