码迷,mamicode.com
首页 > 其他好文 > 详细

spark on yarn container分配极端倾斜

时间:2020-01-21 10:33:56      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:name   efault   dem   根据   yarn   技术   val   sch   默认   

环境:CDH5.13.3  spark2.3

在提交任务之后,发现executor运行少量几台nodemanager,而其他nodemanager没有executor分配。

通过spark-shell模拟如下:

第一次尝试分配6个exeutor,具体如下

spark2-shell --driver-memory 1G --executor-memory 2G --num-executors 6 --executor-cores 3

 

技术图片

第二次尝试分配20个executor,具体如下

spark2-shell --driver-memory 1G --executor-memory 2G --num-executors 20 --executor-cores 3

 

 

 

技术图片

 

环境调度策略为公平调度,即FairScheduler,而这种情况是由公平调度中的一个参数有关:

<property>
<name>yarn.scheduler.fair.assignmultiple</name>
<value>true</value>
<discription>whether to allow multiple container assignments in one heratbeat defaults to false</discription>
</property>
在一次心跳请求中,是否分配多个container,CDH5.13.3默认设置为true。原生hadoop默认是false

<property>
<name>yarn.scheduler.fair.max.assign</name>
<value>-1</value>
</property>
如果上面设置的允许一次分配多个container,那么最多分配多少个,默认无限制。根据实际资源情况


将yarn.scheduler.fair.assignmultiple设置为false,再测试如下:

spark2-shell --driver-memory 1G --executor-memory 2G --num-executors 6 --executor-cores 3

 

技术图片

 

如果在生产环境下,spark任务的executor数量和内存都相对要高很多,所以这种情况会相对有所缓解,具体根据实际情况确定是否需要调整。

spark on yarn container分配极端倾斜

标签:name   efault   dem   根据   yarn   技术   val   sch   默认   

原文地址:https://www.cnblogs.com/zz-ksw/p/12220795.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!