yarn 排程器 resourcemanager 的 Capacity Scheduler 部分配置說明
阿新 • • 發佈:2019-01-27
因為看的總是繞人,就自己用自己的話寫了一份說明,有不對的地方還希望指出
yarn.scheduler.capacity.root.queues 新建佇列名yarn.scheduler.capacity.resource-calculator 資源排程器,預設為:org.apache.hadoop.yarn.util.resource.DefaultResourseCalculator
資源分配配置項:
yarn.scheduler.capacity.<queue-path>.capacity=int 該佇列佔用總資源的百分比(佇列的實際值是可以根據任務狀況彈性的由其他佇列上獲取空閒資源)
yarn.scheduler.capacity.<queue-path>.maximum-capacity=float
該佇列的最大容量,若設為-1則禁用該設定,預設為-1(實際為int,可能是官方文件錯誤)
yarn.scheduler.capacity.<queue-path>.minimum-user-limit-percent=int
該佇列分配給其使用者最少的資源百分比,若設為100,則不做任何使用者限制
yarn.scheduler.capacity.<queue-path>.user-limit-factor=float
單個使用者最多可以獲取的佇列容量
執行和應用限制配置項:
yarn.scheduler.capacity.maximum-applications=int
所有佇列中的最大任務數(超出的會被強制拒絕)
yarn.scheduler.capacity.<queue-path>.maximum-applications=int
該佇列中的最大任務數(可以不設定)
yarn.scheduler.capacity.maximum-am-resource-percent=float
整個叢集用於執行任務的資源比例,預設為0.1
yarn.scheduler.capacity.<queue-path>.maximum-am-resource-percent
設定該佇列執行任務佔用整個叢集的資源比例(可以不設定)
佇列管理配置項:
yarn.scheduler.capacity.<queue-path>.state=RUNNING
orSTOPPED
root若為STOPPED,整合叢集不工作(被停止的佇列仍然會繼續完成它的任務)
yarn.scheduler.capacity.root.<queue-path>.acl_submit_applications=user_name
可以提交給改佇列任務的使用者名稱,*為所有使用者,不指定同其父佇列
其他優化設定:
yarn.scheduler.capacity.node-locality-delay=int
為錯過佇列的任務建立區域性處理容器,一般設為叢集節點數,預設值為40