Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop Oozie没有从Oozie数据库中清理旧作业_Hadoop_Oozie_Cloudera Cdh - Fatal编程技术网

Hadoop Oozie没有从Oozie数据库中清理旧作业

Hadoop Oozie没有从Oozie数据库中清理旧作业,hadoop,oozie,cloudera-cdh,Hadoop,Oozie,Cloudera Cdh,我在我的oozie site.xml中设置了以下属性(使用Cloudera Manager中的安全阀) 然而,我仍然看到一些旧的工作岗位在2014年9月被终止或完成 举个例子, 我有一个协调员,目前处于运行状态。当我使用Oozie Web控制台列出该协调人的实例时,即单击“协调人”选项卡,然后单击“我的协调人”,在弹出窗口中,我看到了2014年9月所有具体化工作流作业(协调人操作)中最早的作业 我假设负责清理此文件的属性是oozie.service.PurgeService.older.than

我在我的oozie site.xml中设置了以下属性(使用Cloudera Manager中的安全阀)

然而,我仍然看到一些旧的工作岗位在2014年9月被终止或完成

举个例子,

我有一个协调员,目前处于运行状态。当我使用Oozie Web控制台列出该协调人的实例时,即单击“协调人”选项卡,然后单击“我的协调人”,在弹出窗口中,我看到了2014年9月所有具体化工作流作业(协调人操作)中最早的作业

我假设负责清理此文件的属性是oozie.service.PurgeService.older.than,我已将其设置为15


那么,我在这里遗漏了什么呢?

问题是对于高频率的长时间运行的协调器作业。由于coord作业仍在运行,因此不会清除所有子工作流

解决方案是(从外部链接引用)

作为一种解决方法,您可以将长期运行的 协调员。例如,不要让您的协调员为 年?永远?,让它运行6个月。并且有一个 完全相同的协调器计划在该协调器结束时开始。 这将允许Oozie从中清理旧的子工作流 协调员每6个月一次。否则,您可以安排cron作业 手动从数据库中删除旧作业。但是,请注意 小心点。从WF_作业中删除工作流作业时 表中,您还需要从中删除工作流操作 属于它的WF_操作表,以及协调器操作 从它所属的WF_操作表中。如果你错过了什么, 这可能会引起问题

参考资料

JIRA链接

oozie.services.ext - org.apache.oozie.service.PurgeService
oozie.service.PurgeService.older.than - 15
oozie.service.PurgeService.coord.older.than - 7
oozie.service.PurgeService.bundle.older.than - 7
oozie.service.PurgeService.purge.interval - 60