优化yarn在任务执行时核数把控不准确的问题

06-20 1609阅读

核数不准这个事情是个概率问题,如果你碰见了,只能说你有点非欧,本质上是因为集群配置问题,默认时yarn不会去精准把控任务的核数,因为默认的资源计算方式是用实际内存去估算核数,这就导致如果大家配置任务时,如果实际内存占用比较多,yarn的资源计算可能结果就会和实际的产生误差,导致资源的使用出现各种问题

优化yarn在任务执行时核数把控不准确的问题
(图片来源网络,侵删)

如果你想要让yarn准确的计算使用多少核,那么需要更改所有节点中的capacity-scheduler.xml配置文件

原配置文件中的
yarn.scheduler.capacity.resource-calculator
org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator
要修改为
yarn.scheduler.capacity.resource-calculator
org.apache.hadoop.yarn.util.resource.DominantResourceCalculator

这样大家再去看的时候就会发现核数也是正确的了,其实yarn之所以这样,想想也好理解,核数是定死的,但是内存本质上受Hadoop最小申请资源数和规整化因子的原因,使得内存的使用其实是不饱满的,所有yarn时刻注意内存的理论使用情况,从而没有太多注意核数和continer,以此为程序员提供一个可参考的内存数字,不然内存不够会OOM的!!!

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]