您的位置:首页 > 运维架构

hadoop 0.20 jobtracker leasechecker 线程溢出问题分析与解决

2016-09-08 00:00 525 查看
摘要: jobtracker 线程溢出,导致其一定周期内崩溃 hadoop 0.20

集群hadoop 0.20 使用oozie进行任务调度,运行一段时间,jobtracker发生崩溃。

分析其原因发现jobtracker在执行oozie提交的任务时,leasechecker线程不断增加,导致jobtracker崩溃。而使用hadoop 自带的命令行提交任务,线程不会增加。因此通过多方手段确定,oozie在向hadoop提交任务时,会提交配置文件到hdfs,而jobtracker的后续某些操作会直接使用提交上来的配置文件,在提交上来的配置文件中有fs禁止使用缓存一项,这就会导致jobtracker获取fs时,不停的创建相关实例而不释放。故此解决方法较为简单,oozie提交的配置文件中,不要禁止使用缓存即可。

相关代码:

src/mapred/org/apache/hadoop/mapred/JobInProgress.java 等initTasks方法调用JobHistory方法。传递的参数就包括jobCient传递过来的。

src/mapred/org/apache/hadoop/mapred/JobHistory.java 中的logSubmitted的fs = userLogFile.getFileSystem(jobConf)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐