yarn会搜集机器的资源封装成Container,所以yarn并不是根据机器来的,但是我们可以通过配置调整mapreduce运行的内存,来让mapreduce在集群中分布均匀合适。
比如有的机器内存小,但是却跑了大部分的job,很显然的问题,单个任务的最小内容,分配小了。所以调整下面参数即可。
- <property>
- <name>yarn.scheduler.minimum-allocation-mb</name>
- <value>1500</value>
- <discription>单个任务可申请最少内存,默认1024MB</discription>
- </property>
-
- <property>
- <name>yarn.scheduler.maximum-allocation-mb</name>
- <value>16384</value>
- <discription>单个任务可申请最大内存,默认8192MB</discription>
- </property>
复制代码
更多内容参考;
YARN内存使用优化配置
|