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