我正在使用oozie java操作步骤来启动java main。这个java应用程序执行一些计算,然后根据该数据运行另一个map-reduce作业。 由于oozie java操作作为仅限地图的作业运行,因此也可以在作业跟踪器中看到。
我们的一个节点内存不足,因此任务跟踪器杀死了oozie map-only作业并在另一个节点上重新启动它。 但是在杀死它之前,java应用程序已经产生了自己的map reduce工作。 当oozie map-only作业在另一个节点上重新启动时,它再次产生了另一个map-reduce作业,其具有与前一个相同的数据。 查看作业跟踪器现在具有针对相同数据运行的重复map-reduce作业。
如何阻止/管理/更改设置,使得oozie在仅映射进程中启动的java程序只运行一次,或者是否必须限制Java应用程序才能运行多次
任何帮助将不胜感激,
肯
答案 0 :(得分:0)
如果由于主机内存不足导致单映射程序引导作业失败,那么在Oozie端可以做很多事情。对于群集中的每个服务,此主机OOM方案可能非常有问题。
处理此问题的首选方法是确保主机完全不会耗尽内存,只允许每个TaskTracker节点上有尽可能多的map和reduce插槽。您还可以通过使用YARN资源管理框架而不是基于JobTracker的MapReduce(MR1)来发现节点的这种资源分配更有效和可调。