使用公平调度器,配置用户运行作业做大数
<userMaxAppsDefault>30</userMaxAppsDefault>
并发提交60个作业,发现作业一直卡着,经过分析发现 是am占用了大部分资源,网上有一篇类似的文章:
修改am所占资源大小:
-Dyarn.app.mapreduce.am.resource.mb=200 -Dyarn.app.mapreduce.am.command-opts=" -Xmx200m "
问题虽然解决,但是不算很完美。
capacity调度器有一个配置参数:
<name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
可以限制分配各am的资源比例,这个配置比较智能一些。
对于公平调度器,智能通过配置队列和用户的最大运行作业数来限制。这个配置参数还要根据集群资源来设置
期待 公平调度器 能有对应的参数出现,or 自己动手丰衣足食