hadoop yarn ui applications list 研究

Yarn提供的web界面可以看到applications历史数据,Yarn Web UI的列表数据如图:

Image

这部分数据的展现方式是前台分页,意思就是比如有2w的历史数据,将一次全部加载,第一次非常慢,后续操作很快。

列表数据最终调用到org.apache.hadoop.yarn.server.resourcemanager.webapp.AppsBlock类中

在render方法中有下面代码

Image(1)Image(2)

可以数据是从RMContext中获得的。在RMContext的实现类RMContextImpl中可以详细知道数据存在什么里面,是ConcurrentHashMap

Image(3)

那整个集群跑的applications的数据都放到这个Map中,时间长了,数据量上来怎么 办?有关于数量控制的配置,并在RMAppManager对这个Map的数据超过配置进行remove操作。相见如下截图

YarnConfiguration中的配置

Image(4)

RMAppManager中的重要代码

Image(5)

Image(6)

可以默认配置值是1w,实际经验是这个值保留平均每天作业数的2到3倍就可以,就是保留数据2,3天。不然使用1w数据确实很大,前台显示缓慢也会给resourcemanager带来不必要的压力和性能瓶颈。

可以修改yarn-site.xml中的如下配置,修改默认值1w。

<property>
  <name>yarn.resourcemanager.max-completed-applications</name>
  <value>2000</value>
</property>


另外jobhistory的数量控制参考

http://IP:19888/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

posted @ 2016-08-17 11:25  熊猫太郎  阅读(1534)  评论(0编辑  收藏  举报