YARN標(biāo)簽調(diào)度策略_第1頁
YARN標(biāo)簽調(diào)度策略_第2頁
YARN標(biāo)簽調(diào)度策略_第3頁
YARN標(biāo)簽調(diào)度策略_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1. YARN的節(jié)點(diǎn)標(biāo)簽11綜述節(jié)點(diǎn)標(biāo)簽是一個把具有相似特性的節(jié)點(diǎn)劃分到一個組的方法,應(yīng)用可以指定運(yùn)行在具有特定 標(biāo)簽的節(jié)點(diǎn)上。節(jié)點(diǎn)分區(qū)(分組):一個節(jié)點(diǎn)只能有一個分區(qū),因此一個集群可以通過節(jié)點(diǎn)分區(qū)換分成的若干個不相交的子 集群。默認(rèn),節(jié)點(diǎn)數(shù)與DEFAULT分區(qū)(partition”)。用戶需要指定不同的隊列使用每一個分區(qū)的多少資源。有兩種節(jié)點(diǎn)分區(qū):Exclusive獨(dú)占式):容器會分配給具有明確匹配分區(qū)名的節(jié)點(diǎn)(例如:請求partition = ”x” 的應(yīng)用,容器將會分配給patition= x”的節(jié)點(diǎn);請求DEFAULT partition的應(yīng)用,容 器將分配給DEFAULT parti

2、tion節(jié)點(diǎn))。Non-exclusive (非獨(dú)占式):如果一個分區(qū)是非獨(dú)占的,它會共享空閑資源給請求默認(rèn) 分區(qū)的容器。用戶可以指定被每一個隊列可以訪問的標(biāo)簽集,一個應(yīng)用僅能夠使用這些節(jié)點(diǎn)標(biāo)簽的子集,這些標(biāo)簽必須 可以被包含這個應(yīng)用的隊列所訪問。12特性節(jié)點(diǎn)標(biāo)簽支持下面的特性:每一個節(jié)點(diǎn)被分配一個標(biāo)簽,因此一個集群可以被劃分為幾個不相交的分 區(qū)。集群劃分:每一個節(jié)點(diǎn)被分配一個標(biāo)簽,因此一個集群可以被劃分為幾個不相交的分區(qū)。隊列上節(jié)點(diǎn)標(biāo)簽的ACL權(quán)限控制:用戶可以在每一個隊列上設(shè)置可訪問的標(biāo)簽,因此特定的隊列只 能訪問對應(yīng)標(biāo)簽的一些節(jié)點(diǎn)。在資源請求中指定需要的節(jié)點(diǎn)標(biāo)簽,因此只有當(dāng)節(jié)點(diǎn)具有相同標(biāo)

3、簽的時候才會被分配資源。如果沒有 指定節(jié)點(diǎn)標(biāo)簽,相同的資源請求將只會分配到屬于默認(rèn)分區(qū)的節(jié)點(diǎn)??刹僮餍裕汗?jié)點(diǎn)標(biāo)簽和節(jié)點(diǎn)標(biāo)簽的映射可以通過重啟RM來回復(fù)。更新節(jié)點(diǎn)標(biāo)簽:在RM運(yùn)行的時候管理員可以更新節(jié)點(diǎn)上的標(biāo)簽和隊列上的標(biāo)簽。13配置1.3.1.設(shè)置ResourceManager開啟節(jié)點(diǎn)標(biāo)簽功能:在yarn-site.xml中設(shè)置下面的屬性:PropertyValueyarn.node-labels.fs-store.root-dirhdfs:/namenode:port/path/to/store/node-labels/yarn.node-labels.enabledtrue注意:確保yar

4、n.node-labels.fs-store.root-dir指定的路徑存在,并且RM有權(quán)限訪問。如果用戶想要把節(jié)點(diǎn)標(biāo)簽存儲到本地文件系統(tǒng)中(取代HDFS),可以這樣指定: HYPERLINK home/yarn/node-label file:/home/yarn/node-label給YARN添加或修改節(jié)點(diǎn)標(biāo)簽列表節(jié)點(diǎn)到標(biāo)簽的映射添加集群節(jié)點(diǎn)標(biāo)簽列表:添加節(jié)點(diǎn)標(biāo)簽:yarn rmadmin -addToClusterNodeLabels label_1(exclusive=true/false),label_2(exclusive=true/false)如果不指定 (exclusive.)

5、”, execlusive默認(rèn)為 true給節(jié)點(diǎn)添加標(biāo)簽:執(zhí)彳亍 yarn rmadmin -replaceLabelsOnNode “node1:port=label1 node2=label2” 把label1添加到節(jié)點(diǎn)node1上,把label2添加到節(jié)點(diǎn)node2上,如果不指定port,會 把標(biāo)簽添加到該節(jié)點(diǎn)上的所有NodeManagers (一個節(jié)點(diǎn)可以在同的端口上運(yùn)行多個 NodeManagers)。給調(diào)度器配置節(jié)點(diǎn)標(biāo)簽Capacity Scheduler 配置:PropertyValueyarn.scheduler.capacity. capacity設(shè)置隊列可以使用默認(rèn)分區(qū)節(jié)點(diǎn)

6、資源的百分比。每一個父屬性 的直接子屬性的默認(rèn)容量總和必須等于100yarn.scheduler.capacity.accessible-node-labels管理員需要指定每一個隊列可以訪問的標(biāo)簽集,多個標(biāo)簽用逗 號分隔,例如、hbase,storm,意思是隊列可以訪問hbase 和storm標(biāo)簽。所有的隊列都可以訪問沒有打標(biāo)簽的節(jié)點(diǎn), 用戶不必指定。如果用戶沒有指定該屬性,它會繼承父隊列的 該屬性。如果用戶想要明確的指定一個隊列僅能夠訪問沒有打 標(biāo)簽的節(jié)點(diǎn),只需要給該屬性一個空值即可。yarn.scheduler.capacity.accessible-node-labels.capaci

7、ty設(shè)置隊列可以訪問屬于某個標(biāo)簽的節(jié)點(diǎn)資源的百分比。每一個父屬性的所有直接子屬性的容量總和必須等于100yarn.scheduler.capacity.accessible-node-labels.maximu類似于 yarn.scheduler.capacity.maximum-capacity,它是每一個隊列所占標(biāo)簽的最大容量。默認(rèn)是1PropertyValuem-capacity00.yarn.scheduler.capacity. , default-node-label-expression以“hbase”為例,意思是:如果應(yīng)用在提交給隊列時在資源請 求中沒有指定節(jié)點(diǎn)標(biāo)簽,它會使用“

8、hbase”作為默認(rèn)節(jié)點(diǎn)標(biāo)簽 表達(dá)式。默認(rèn),這個值是空的,因此應(yīng)用會從沒有打標(biāo)簽的節(jié) 點(diǎn)活的 containers。1.3.4.節(jié)點(diǎn)標(biāo)簽配置示例假設(shè)我們有下面的隊列結(jié)構(gòu):root/ I engineer sales marketing在集群中我們有5個節(jié)點(diǎn)(hostname=h1,h2,h3,h4,h5),他們每一個有24G memory, 24 vcores,他們中有一個有GPU (假設(shè)是h5),因此管理員給h5打上GPU標(biāo)簽。假設(shè)用戶有一個如下的容量調(diào)度器配置(這里使用key=value格式,便于閱讀):yarn.scheduler.capacity.root.queues=enginee

9、ring,marketing,salesyarn.scheduler.capacity.root.engineering.capacity=33yarn.scheduler.capacity.root.marketing.capacity=34yarn.scheduler.capacity.root.sales.capacity=33yarn.scheduler.capacity.root.engineering.accessible-node-labels=GPU yarn.scheduler.capacity.root.marketing.accessible-node-labels=GP

10、Uyarn.scheduler.capacity.root.engineering.accessible-node-labels.GPU.capa city=50yarn.scheduler.capacity.root.marketing.accessible-node-labels.GPU.capaci ty=50yarn.scheduler.capacity.root.engineering.default-node-label-expression=G PU你可以看到root.engineering/marketing/sales.capacity=33,因此他們每一個都有未分區(qū)資源的

11、1/3,因此他們可以使用 h1h4 的 1/3 的資源,即:24*4*(1/3)= (32G mem, 32 v-cores)。并且只有engineering/marketing兩個隊列有權(quán)限訪問GPU分區(qū)(看 root.accessible-node-labels)。engineering/marketing兩個都可以保證戰(zhàn)友GPU分區(qū)的1/2的資源,因此他們可以使用h5的1/2 的資源,即 24 * 0.5 = (12G mem, 12 v-cores)。注意:在完成了 Capacityscheduler的配置之后,執(zhí)行yarn rmadmin -refreshQueues來時改變生 效。

12、到RM的WEB UI的scheduler界面檢查你是否設(shè)置成功。1.3.5.為應(yīng)用指定節(jié)點(diǎn)標(biāo)簽應(yīng)用可以使用下面的Java APIs來為請求指定節(jié)點(diǎn)標(biāo)簽:ApplicationSubmissionContext.setNodeLabelExpression(.為應(yīng)用的容器設(shè)置節(jié)點(diǎn)標(biāo)簽表 達(dá)式。ResourceRequest.setNodeLabelExpression(.)為個體資源請求設(shè)置節(jié)點(diǎn)標(biāo)簽表達(dá)式。這可 以覆蓋ApplicationSubmissionContext中的節(jié)點(diǎn)標(biāo)簽表達(dá)式。ApplicationSubmissionContext 中指定 setAMContainerResourceRequest.setNodeLabelExpression為 AM 的容器設(shè)置請求節(jié)點(diǎn)標(biāo) 簽。1.4.監(jiān)控1.4.1.通過web UI監(jiān)控Nodes 頁面:http:/RM-Address:port/cluster/nodes可以看到每一個節(jié)點(diǎn)的標(biāo)簽Node iabeis頁面:http:/RM-Address:port/cluster/nodelabels可以看到標(biāo)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論