我在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。“
那我做错什么了?我甚至看到来自同一个作业的工作流操作的两个示例处于“正在运行”状态,一旦另一个作业被终止,它就可以正常运行。
1条答案
按热度按时间8e2ybdfx1#
好吧,我找到问题了。这与hbase并发性和集群中没有足够的任务槽有关。在mapred-site.xml文件中设置以下属性可以解决此问题:
类似于这个问题:https://groups.google.com/a/cloudera.org/forum/?fromgroups=#!主题/cdh用户/v0bhtq0hlbg