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

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

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

相关代码:缓存

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

src/mapred/org/apache/hadoop/mapred/JobHistory.java 中的logSubmitted的fs = userLogFile.getFileSystem(jobConf)命令行

相关文章
相关标签/搜索