EMR控制臺(tái)管理YARN分區(qū)
EMR支持在控制臺(tái)上通過可視化UI管理YARN分區(qū),同時(shí)可以批量建立節(jié)點(diǎn)組與分區(qū)的映射,方便操作。您可以直接在節(jié)點(diǎn)組上配置分區(qū)屬性,擴(kuò)容和彈性伸縮后,EMR會(huì)自動(dòng)為新增節(jié)點(diǎn)打上Node Label,無需重新配置新節(jié)點(diǎn)。本文為您介紹如何在EMR控制臺(tái)上管理YARN分區(qū)。
背景信息
適用以下場景:
集群異構(gòu)
實(shí)際的環(huán)境部署中,經(jīng)常會(huì)出現(xiàn)不同的機(jī)器類型。例如,有些機(jī)器是計(jì)算型的,有些則是內(nèi)存型。例如,新采購的機(jī)器是大內(nèi)存和高CPU,偏計(jì)算型,已有的機(jī)器偏存儲(chǔ)型。
多種計(jì)算框架共享集群資源
批處理應(yīng)用占用大量網(wǎng)絡(luò)資源或CPU資源,導(dǎo)致準(zhǔn)實(shí)時(shí)計(jì)算資源被搶占。例如,離線集群上的Flink應(yīng)用。
重要作業(yè)保障
如果不希望重要作業(yè)被調(diào)度到彈性節(jié)點(diǎn),可以為非彈性節(jié)點(diǎn)配置單獨(dú)的分區(qū),讓重要作業(yè)使用該分區(qū)(此處針對少數(shù)不希望因?yàn)榭s容而被延遲的重要作業(yè))。
借助YARN分區(qū)管理能力,運(yùn)維人員可以根據(jù)節(jié)點(diǎn)的特性(角色定位、處理能力),將其分為不同的分區(qū),讓作業(yè)運(yùn)行在指定分區(qū)下的節(jié)點(diǎn)上,來滿足業(yè)務(wù)多維度的使用需求,同時(shí)也可以更好地管理和調(diào)度混合類型的機(jī)器資源或應(yīng)用程序。
前提條件
已創(chuàng)建集群,且集群狀態(tài)為運(yùn)行中。創(chuàng)建集群詳情,請參見創(chuàng)建集群。
使用限制
適用于EMR-5.11.1及之后版本、EMR-3.45.1及之后版本。
集群狀態(tài)為運(yùn)行中。
YARN調(diào)度器需使用capacity scheduler。
注意事項(xiàng)
新增或編輯分區(qū)后,需要單擊部署生效,請?jiān)跇I(yè)務(wù)低峰期進(jìn)行操作。
如果YARN調(diào)度器切換為fair scheduler,則需要關(guān)閉Node Labels開關(guān)。
新增分區(qū)
進(jìn)入服務(wù)的配置頁面。
在頂部菜單欄處,根據(jù)實(shí)際情況選擇地域和資源組。
在EMR on ECS頁面,單擊目標(biāo)集群操作列的集群服務(wù)。
在集群服務(wù)頁面,單擊YARN服務(wù)區(qū)域的配置。
單擊管理分區(qū)頁簽。
單擊新增分區(qū),在新增分區(qū)對話框中,配置相關(guān)的參數(shù)。
參數(shù)
說明
分區(qū)名稱
待新增分區(qū)的名稱。
長度限制為1~255個(gè)字符,僅可使用字母、數(shù)字、短劃線(-)和下劃線(_)。
說明允許創(chuàng)建名為DEFAULT的分區(qū)。
分區(qū)名不能以短劃線(-)和下劃線(_)開頭。
分區(qū)類型
Exclusive(默認(rèn)):只允許請求和該分區(qū)匹配的容器調(diào)度到該分區(qū)的節(jié)點(diǎn)上。
Non Exclusive:將空閑資源共享給請求DEFAULT分區(qū)的容器。
關(guān)聯(lián)節(jié)點(diǎn)組
選擇需要關(guān)聯(lián)的節(jié)點(diǎn)組。每個(gè)節(jié)點(diǎn)組僅可關(guān)聯(lián)一個(gè)分區(qū),支持修改關(guān)聯(lián)的節(jié)點(diǎn)組。
單擊確定。
單擊部署生效。
待系統(tǒng)將該配置熱更新生效后,即可在YARN UI上看到新增的分區(qū)。
部署后默認(rèn)生效時(shí)間為10分鐘,如果您希望快速生效,可以在配置頁簽的yarn-site.xml中新增配置項(xiàng)yarn.nodemanager.node-labels.resync-interval-ms和yarn.nodemanager.node-labels.provider.fetch-interval-ms,修改生效時(shí)間,然后在狀態(tài)頁簽,手動(dòng)重啟NodeManager組件。
編輯分區(qū)
在EMR控制臺(tái)YARN服務(wù)的管理分區(qū)頁簽,單擊待修改分區(qū)操作列的編輯。
在編輯分區(qū)對話框中,可以修改關(guān)聯(lián)的節(jié)點(diǎn)組,其余參數(shù)不支持修改。
單擊確定。
單擊部署生效,使操作生效。
刪除分區(qū)
在EMR控制臺(tái)YARN服務(wù)的管理分區(qū)頁簽,單擊待刪除分區(qū)操作列的刪除。
在彈出的對話框中,單擊確定。
單擊部署生效,使操作生效。
說明刪除分區(qū)會(huì)解綁關(guān)聯(lián)在該分區(qū)上的節(jié)點(diǎn)組。
如果該分區(qū)綁定了隊(duì)列,則需要在編輯資源隊(duì)列頁簽,關(guān)閉分區(qū)與隊(duì)列關(guān)聯(lián)管理開關(guān)后,才能刪除該分區(qū)。
查看分區(qū)列表
在YARN服務(wù)的管理分區(qū)頁簽,您可以查看分區(qū)名稱、可訪問該分區(qū)的隊(duì)列、節(jié)點(diǎn)組、分區(qū)類型和資源總量等信息。
關(guān)閉分區(qū)管理能力
如果您要從capacity scheduler切換為fair scheduler,則需要關(guān)閉Node Labels開關(guān),以關(guān)閉分區(qū)管理能力。然后在YARN服務(wù)的狀態(tài)頁簽,手動(dòng)重啟ResourceManager組件,以使操作生效。
關(guān)閉控制臺(tái)上的管理分區(qū)頁面
如果您希望完全通過自定義腳本來使用分區(qū)管理能力,且不希望EMR控制臺(tái)進(jìn)行分區(qū)管理的校驗(yàn)時(shí),您可以在YARN服務(wù)的配置頁簽,修改yarn-operator-conf中node_labels_managed_by_emr的參數(shù)值為false,刷新控制臺(tái)后,則管理分區(qū)頁面不可見,同時(shí)node-labels.xml也不會(huì)進(jìn)行分區(qū)管理的校驗(yàn),Node Labels配置詳情請參見Node Labels特性使用。