为oozie工作流运行单个应用程序主文件

时间:2017-02-11 16:42:13

标签: java yarn oozie bigdata

(根据Why does the oozie luncher consume 2 yarn containers?

我的群集有1900核心和11TB RAM。 我有我的Oozie WF的下一个工作流程结构:

  • 将运行大约300-400个具有相同结构的子工作流程 并行(通过fork控制节点)
  • 在这些子流程中逐个运行 几个任务(java动作,火花任务,shell动作)
  • 一些 子流可以在3-5分钟内执行,其中一些 - 2-3小时(长) 术语火花任务)

问题是 - 是否可以在 容器(应用程序主机)中运行这些子工作流程?默认情况下,对于每个子工作流程,oozie / yarn使用两个核心:一个用于AM,一个用于map-reduce任务(控制器)。这就是瓶颈 - 我的集群中所有核心的1/3仅用于控制但不用于计算

1 个答案:

答案 0 :(得分:2)

我猜你可以使用oozie的超级模式来保存启动oozie动作作业的容器。 AM将启动操作,而不是从单独的容器中执行操作。

将以下属性添加到oozie-site.xml

<property>
  <name>oozie.action.launcher.mapreduce.job.ubertask.enable</name>
  <value>true</value>
</property>