首先,yarn刚出世的时候,对于CPU的调度只是在计划中,而前段时间一直用的2.0.0的版本,也做过测试,确实对cpu的资源限制不予理睬。
但是,前不久,升级到了2.3.0,没有验证这个功能是否实现,一直认为对于公平调度器的队列配置,vcores的配置无所谓,直到上次把这个值配置成了0,限制了队列的最大资源,结果用户提交的APP只能启动一个ApplicationMaster,无法启动一个Task.
好吧,看这里:
Add multi-resource scheduling to the fair scheduler
在
2.1.0-beta就提供了cpu的调度。
不过,上面提到的最大资源限制有点意思,格式是
"X mb, Y vcores",内存是绝对不会超过X,但是cpu的使用数却可以超过Y,但只能超过n个(n=ApplicationMaster需要的vcores)。