(根據Why does the oozie luncher consume 2 yarn containers?)爲Oozie的工作流
我有1900芯和11TB RAM羣集運行單個應用程序主。 我有工作流的下一個結構,用於我的Oozie的WF:
- 約300-400mg subworkflows與將(由叉控制節點)並行運行 相同的結構
- 在這些子流一個接一個運行 幾個任務(java的行動,火花任務,外殼動作)
- 一些 支流可以在3-5分鐘執行,其中一些 - 2-3小時(長 長期火花任務)
問題是 - 是否有可能在一個容器(應用程序主)中運行這些子工作流程:單個?默認情況下,對於每個子工作流oozie/yarn使用兩個核心:一個用於AM,一個用於map-reduce任務(控制器)。這是瓶頸 - 我的羣集的所有核心的1/3只用於控制,但不用於計算
*「所有核心的1/3」* - 我想你是指YARN分配的邏輯「核心」,而不是真正的CPU核心。如果您的羣集以「滿負載」運行,但實際的CPU使用率較低,那麼您可能需要重新定位 - 比較。 https://hortonworks.com/blog/managing-cpu-resources-in-your-hadoop-yarn-clusters/ _「... vcores的數量必須由管理員設置...一般建議設置它與節點上物理內核的數量有關,但是如果管理員希望在具有更快CPU的節點上運行附加容器......或者它們有許多AM容器,則可以將其啓動。 –
是的,我的意思是vCores,而不是真正的CPU –
我也建議留意Oozie on Yarn功能(OOZIE-1770)。 –