首页 文章

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

提问于
浏览
5

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

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

  • 大约300-400个具有相同结构的子工作流并行运行(通过fork控制节点)

  • 在这些子流中逐个运行几个任务(java动作,spark任务,shell动作)

  • 一些子流程可以在3-5分钟内执行,其中一些 - 2-3小时(长期火花任务)

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

1 回答

  • 2

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

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

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

相关问题