我在 Oozie 有一个协调员的工作。它使用 java 操作节点调用工作流。
如果我只提交一次这份工作,那么它就可以完美运行。但是,如果我以相同的开始和结束时间提交此作业两次,但主类的 arg1 不同,则两个作业实例都挂在“RUNNING”状态,日志如下所示:
>>> Invoking Main class now >>>
Heart beat
Heart beat
Heart beat
Heart beat
...
如果我杀死其中一个工作,那么另一个工作就会重新开始运行。
该文档指出,可以使用不同的参数提交同一协调器作业的多个实例:http: //archive.cloudera.com/cdh/3/oozie/CoordinatorFunctionalSpec.html#a6.3._Synchronous_Coordinator_Application_Definition
“并发:该作业可以同时运行的最大操作数。该值允许实现和提交协调器应用程序的多个实例,并允许操作赶上延迟处理。默认值为 1 。”
那么我做错了什么?我什至看到来自同一个作业的两个工作流操作实例处于“运行”状态,一旦另一个作业被终止,它就可以正常运行。