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

标签 hadoop oozie oozie-coordinator

我在 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

“并发:该作业可以同时运行的最大操作数。 此值允许实现和提交协调器应用程序的多个实例 ,并允许操作 catch 延迟处理。默认值为 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

关于hadoop - 在 oozie 中多次提交相同的协调员工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14634285/

相关文章:

hadoop - 如何从 HIVE (sql) 中的列中删除文本

java - Hadoop 中的流式处理或自定义 Jar

hadoop - Oozie工作流程,将mapreduce操作配置为仅对一组文件运行reducer/combiner

shell - 如何在oozie中执行并行作业

apache-spark - 如何优化 Hadoop MapReduce 在 Google Datproc 中压缩 Spark 输出?

hadoop - 全局变量 HADOOP_USER_NAME oozie?

java - 如果在 SparkAction 中使用 PySpark,Oozie 作业将不会运行

java - 错误 : java. lang.ClassCastException : wordCountTest. WordCountTest 无法转换为 org.apache.hadoop.mapreduce.Mapper

hadoop - 使用oozie的 hive 的循环协调器

hadoop - Hbase Upsert 与 Spark