概述
问题引入
明明自己集群资源充足,YARN还是会将Spark的executor集中分派到个别的NodeManager?
解决方案
将YARN配置中的yarn.scheduler.fair.assignmultiple
参数设为false;
或者手动设定yarn.scheduler.fair.max.assign
参数的值为一个较小的正数(如3或4)。
方案说明
-
如果assignMultiple(对应
yarn.scheduler.fair.assignmultiple
参数)为true,那么在成功分配一个Container后不会停止,继续尝试在当前节点上分配; -
在上一条的条件下,最多会连续分配maxAssign(对应
yarn.scheduler.fair.max.assign
参数)个Container后停止。
Hadoop默认的yarn.scheduler.fair.assignmultiple
为false,亦即一次调度只分配一个Container。但是CDH将这个参数默认设为了true,并且yarn.scheduler.fair.max.assign
默认为-1,表示不限制,所以会导致一次调度在单个节点上分配较多的Container。1
有理有据的参考博客链接. ↩︎
最后
以上就是迷路蜗牛为你收集整理的解决YARN Container分配过于集中的问题问题引入解决方案方案说明的全部内容,希望文章能够帮你解决解决YARN Container分配过于集中的问题问题引入解决方案方案说明所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复