问题描述:
yarn的原生web页面加载数据显示历史job列表缓慢
问题原因:
这是由于yarn提交的历史任务数量太大(接近1w)导致
解决方法
方法一:
在网上看到有人说有相关的配置,去官网上找了一下,应该是这个yarn的timeline时序数据库有关的配置,截图如下
这两个参数的翻译一下分别是:
时间轴存储区中最近读取的实体开始时间的缓存大小(以实体数为单位)默认为10000
时间线存储区中最近写入的实体开始时间的缓存大小(以实体数为单位)默认为10000
这里的实体entity应该就是job
官网配置链接:http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/TimelineServer.html
但是我看网上说不推荐改这个配置,因为改大后,要加载的数据量太大,页面加载缓慢影响体验,于是放弃此方法!
方法二:
因为yarn的历史job数据是通过zk来管理保存的,可以进入zk,把历史悠久的job数据删掉即可
以我们平台的集群为例,yarn的job历史数据的路径为
/rmstore/ZKRMStateRoot/RMAppRoot
(这里的rm代表的是resourcemanager)
例如:删除一条yarn的job历史任务,如下:
rmr /rmstore/ZKRMStateRoot/RMAppRoot/application_1458215462231_2216
最后重启yarn服务下的两个ResourceManager组件(重启rm影响yarn上正在运行的任务),再打开yarn的web界面, 删掉的job的history数据不在页面显示了!