分享

Yarn为什么没有根据电脑配置进行任务分配

本帖最后由 nettman 于 2015-1-4 20:32 编辑

三台nodemanager,配置高低是1>2>3,尤其3比较低。但是在执行任务时,3获取的任务反而比1,2多。不知道是为什么?如附件中有20个map任务,第三台电脑反而配置8个map。导致1,2的map任务完成,一直等待3完成任务,集群效率下降。谢谢!~~

20个map

20个map

已有(2)人评论

跳转到指定楼层
nettman 发表于 2015-1-4 20:37:00



yarn会搜集机器的资源封装成Container,所以yarn并不是根据机器来的,但是我们可以通过配置调整mapreduce运行的内存,来让mapreduce在集群中分布均匀合适。
比如有的机器内存小,但是却跑了大部分的job,很显然的问题,单个任务的最小内容,分配小了。所以调整下面参数即可。


  1. <property>
  2.     <name>yarn.scheduler.minimum-allocation-mb</name>
  3.     <value>1500</value>
  4.     <discription>单个任务可申请最少内存,默认1024MB</discription>
  5.   </property>
  6.   
  7.   <property>
  8.     <name>yarn.scheduler.maximum-allocation-mb</name>
  9.     <value>16384</value>
  10.     <discription>单个任务可申请最大内存,默认8192MB</discription>
  11.   </property>
复制代码

更多内容参考;

YARN内存使用优化配置






回复

使用道具 举报

bingoyin 发表于 2015-1-5 09:34:45
nettman 发表于 2015-1-4 20:37
yarn会搜集机器的资源封装成Container,所以yarn并不是根据机器来的,但是我们可以通过配置调整mapred ...

是的,要根据电脑配置配置yarn-site.xml。谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条