(根据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 回答
我想你可以使用oozie的超级模式来保存启动oozie动作作业的容器 . AM将启动操作,而不是从单独的容器中执行操作 .
将以下属性添加到
oozie-site.xml
中 .