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),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

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

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

3、簽的時(shí)候才會(huì)被分配資源。如果沒有 指定節(jié)點(diǎn)標(biāo)簽,相同的資源請(qǐng)求將只會(huì)分配到屬于默認(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)行的時(shí)候管理員可以更新節(jié)點(diǎn)上的標(biāo)簽和隊(duì)列上的標(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)簽存儲(chǔ)到本地文件系統(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,會(huì) 把標(biāo)簽添加到該節(jié)點(diǎn)上的所有NodeManagers (一個(gè)節(jié)點(diǎn)可以在同的端口上運(yùn)行多個(gè) NodeManagers)。給調(diào)度器配置節(jié)點(diǎn)標(biāo)簽Capacity Scheduler 配置:PropertyValueyarn.scheduler.capacity. capacity設(shè)置隊(duì)列可以使用默認(rèn)分區(qū)節(jié)點(diǎn)

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

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

8、hbase”作為默認(rèn)節(jié)點(diǎn)標(biāo)簽 表達(dá)式。默認(rèn),這個(gè)值是空的,因此應(yīng)用會(huì)從沒有打標(biāo)簽的節(jié) 點(diǎn)活的 containers。1.3.4.節(jié)點(diǎn)標(biāo)簽配置示例假設(shè)我們有下面的隊(duì)列結(jié)構(gòu):root/ I engineer sales marketing在集群中我們有5個(gè)節(jié)點(diǎn)(hostname=h1,h2,h3,h4,h5),他們每一個(gè)有24G memory, 24 vcores,他們中有一個(gè)有GPU (假設(shè)是h5),因此管理員給h5打上GPU標(biāo)簽。假設(shè)用戶有一個(gè)如下的容量調(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,因此他們每一個(gè)都有未分區(qū)資源的

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論