《Hadoop权威指南:大数据的存储与分析》—4.3.5 主导资源公平性

举报
清华大学出版社 发表于 2019/10/12 17:30:58 2019/10/12
【摘要】 本节书摘来自清华大学出版社《Hadoop权威指南:大数据的存储与分析》一书中第四章,第4.3.5节,作者是Tom White , 王 海 华 东 刘 喻 吕粤海 译。

4.3.5  主导资源公平性

对于单一类型资源,如内存的调度,容量或公平性的概念很容易确定。例如两个用户正在运行应用,可以通过度量每个应用使用的内存来比较两个应用。然而,当有多种资源类型需要调度时,事情就会变得复杂。例如,如果一个用户的应用对CPU的需求量很大,但对内存的需求量很少;而另一个用户需要很少的CPU,但对内存需求量很大,那么如何比较这两个应用呢?

YARN中调度器解决这个问题的思路是,观察每个用户的主导资源,并将其作为对集群资源使用的一个度量。这个方法称为主导资源公平性”(Dominant Resource Fairness,DRF)[1]。这个思想用一个简单的例子就可以很好的给予解释。

想象一个总共有100CPU10TB的集群 。应用A请求的每份容器资源为2CPU300GB内存,应用B请求的每份容器资源为6CPU100GB内存。A请求的资源在集群资源中占比分别为2%3%,由于内存占比(3%)大于CPU占比(2%),所以内存是A的主导资源。B请求的资源在集群资源中占比分别为6%1%,所以CPUB的主导资源。由于B申请的资源是A的两倍(6% vs3%),所以在公平调度下,B将分到一半的容器数。

默认情况下不用DRF,因此在资源计算期间,只需要考虑内存,不必考虑CPU。对容量调度器进行配置后,可以使用DRF,将capacity-scheduler.xml文件中的org.apache.hadoop.yarn.util.resource.DominantResourceCalculator设为yarn.scheduler.capacity.resource-calculator 即可。

公平调度器若要使用DRF,通过将分配文件中的顶层元素defaultQueue SchedulingPolicy设为drf即可。





【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。