Hadoop YARN中 VCores used 与 VCores Avail 数量不相符, YARN WebUI中显示的VCores数不对

1.问题复现

如图,在yarn-site.xml中我设置的VCores是2个,每个节点提供2GB内存,在mapred-site.xml中设置的每个container是384M。提交了很多任务后,yarn调度器按照 (2GB * 1024)/ 384 = 5 余 128M ,每个节点申请了5个container,但我设置的VCores只有两个,怎么能有这么多container呢?

 2.分析

是不是有什么参数没有限制住VCores的变化,去官方文档中yarn-site.xml和mapred-site.xml中找关于VCore的参数,没有找有关这个问题的。最后发现这个问题是在capacity的配置文件中设置的,如下:

yarn.scheduler.capacity.resource-calculator

The ResourceCalculator implementation to be used to compare Resources in the scheduler. The default i.e. org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator only uses Memory while DominantResourceCalculator uses Dominant-resource to compare multi-dimensional resources such as Memory, CPU etc. A Java ResourceCalculator class name is expected.

DefaultResourceCalculator它在申请Container时其实只会考虑内存而不考虑VCores,DominantResourceCalculator考虑多维资源例如内存和CPU,也就是它会考虑所设置的VCore的数量。

 3.解决

在capacity-scheduler.xml中修改

org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator

修改为:

org.apache.hadoop.yarn.util.resource.DominantResourceCalculator

修改后:因为每个节点只有两个VCore,剩余了很多内存资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ahuuua

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值