Yarn提供的web界面能够看到applications历史数据,Yarn Web UI的列表数据如图:web
这部分数据的展示方式是前台分页,意思就是好比有2w的历史数据,将一次所有加载,第一次很是慢,后续操做很快。apache
列表数据最终调用到org.apache.hadoop.yarn.server.resourcemanager.webapp.AppsBlock类中app
在render方法中有下面代码webapp
能够数据是从RMContext中得到的。在RMContext的实现类RMContextImpl中能够详细知道数据存在什么里面,是ConcurrentHashMapoop
那整个集群跑的applications的数据都放到这个Map中,时间长了,数据量上来怎么 办?有关于数量控制的配置,并在RMAppManager对这个Map的数据超过配置进行remove操做。相见以下截图性能
YarnConfiguration中的配置spa
RMAppManager中的重要代码.net
能够默认配置值是1w,实际经验是这个值保留平均天天做业数的2到3倍就能够,就是保留数据2,3天。否则使用1w数据确实很大,前台显示缓慢也会给resourcemanager带来没必要要的压力和性能瓶颈。3d
能够修改yarn-site.xml中的以下配置,修改默认值1w。server
<property>
<name>yarn.resourcemanager.max-completed-applications</name>
<value>2000</value>
</property>
另外jobhistory的数量控制参考
<property>
<name>mapreduce.jobhistory.joblist.cache.size</name>
<value>10</value>
</property>
etc/hadoop/mapred-site.xml
参考
http://zh.hortonworks.com/blog/apache-hadoop-yarn-resourcemanager/ http://blog.csdn.net/wujun8/article/details/34102889
http://blog.csdn.net/skywalker_only/article/details/41726189