Hadoop已完成作业和已退役作业之间的差异



标题让问题变得非常清楚。为什么在jobtracker中有两个不同的部分用于已完成的工作和已退休的工作?

谢谢。

作业报废是作业跟踪器的一个正常过程,用于将作业持久化到磁盘并清除内存。您可以在Cloudera博客上阅读更多详细信息:

作业完成后,将按照上述步骤保存在内存(最高可达mapred.jobtracker.completeuserjobs.maximum)和磁盘上。有一个配置值控制已完成作业的整体退休策略:

mapred.jobtracker.retirejob.interval
默认:24*60*600*1000(1天)
换句话说,默认情况下,已完成的作业将在一天后退休。默认情况下,每分钟检查一次要报废的作业,可以使用进行控制

mapred.jobtracker.retirejob.check
默认:60*1000(60毫秒)
在JobTracker运行时,该检查会持续运行。如果一个作业已退役,它只会从JobTracker的内存列表中删除(它还会删除该作业的所有任务等)。作业在完成时间的至少1分钟(在JobTracker.java中硬编码)内不会退役。引退调用还会删除作业的JobTracker Local(请参阅上文)文件。剩下的就是历史目录中每个失效作业的两个文件(hadoop.job.history.location),如果启用,还加上"每个作业"文件(hadoop.job.history.user.location)。

最新更新