EMR支援在控制台上通過可視化UI管理YARN分區,同時可以批量建立節點群組與分區的映射,方便操作。您可以直接在節點群組上配置分區屬性,擴容和Auto Scaling後,EMR會自動為新增節點打上Node Label,無需重新設定新節點。本文為您介紹如何在EMR控制台上管理YARN分區。
背景資訊
適用以下情境:
叢集異構
實際的環境部署中,經常會出現不同的機器類型。例如,有些機器是計算型的,有些則是記憶體型。例如,新採購的機器是大記憶體和高CPU,偏計算型,已有的機器偏儲存型。
多種計算架構共用叢集資源
批處理應用佔用大量網路資源或CPU資源,導致准Realtime Compute資源被搶佔。例如,離線叢集上的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特性使用。