在oozie中多次提交相同的协调员工作

时间:2013-01-31 20:11:54

标签: hadoop oozie oozie-coordinator

我在Oozie有一个协调员工作。它使用java动作节点调用工作流。

如果我只提交一次这个工作,那么它的工作完美。但是,如果我使用相同的开始和结束时间两次提交此作业,但是与Main类不同的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.“

那么我做错了什么?我甚至看到来自同一工作的工作流操作的两个实例处于“RUNNING”状态,一旦另一个工作被杀死就运行良好。

1 个答案:

答案 0 :(得分:1)

好的,我发现了这个问题。它与HBase并发性相关,并且集群中没有足够的任务槽。在mapred-site.xml文件中设置以下属性可以解决问题:

<name>mapred.tasktracker.map.tasks.maximum</name>
<value>50 </value> 

与此问题类似:https://groups.google.com/a/cloudera.org/forum/?fromgroups=#!topic/cdh-user/v0BHtQ0hlBg