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

ql3eal8s  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(323)

题目把问题说得很清楚。为什么在jobtracker中有两个不同的部分用于已完成和已退休的工作?
谢谢。

pbwdgjma

pbwdgjma1#

JobRetirement是jobtracker将作业持久化到磁盘并清除内存的正常过程。您可以在cloudera博客上阅读更多详细信息:
一旦一个作业完成,它就会保存在内存中(最多 mapred.jobtracker.completeuserjobs.maximum )在磁盘上,如上所述。有一个配置值可控制已完成作业的总体退役策略:
密钥: mapred.jobtracker.retirejob.interval 默认值:2460601000(1天)
换句话说,默认情况下,已完成的作业将在一天后失效。默认情况下,每分钟检查一次要退出的作业,可以通过以下方式进行控制:
密钥: mapred.jobtracker.retirejob.check 默认值:60
1000(以毫秒为单位为60秒)
当jobtracker运行时,该检查将持续运行。如果某个作业已停用,则只需从jobtracker的内存列表中删除它(它还将删除该作业的所有任务等)。作业在其完成时间的至少1分钟内(在jobtracker.java中硬编码)不会失效。retire调用还会删除作业的jobtracker本地(见上文)文件。剩下的就是history目录中每个失效作业的两个文件( hadoop.job.history.location )另外,如果启用,则每个作业文件( hadoop.job.history.user.location ).

相关问题