溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Fair Scheduler相關參數有哪些

發(fā)布時間:2021-11-17 14:54:39 來源:億速云 閱讀:122 作者:柒染 欄目:web開發(fā)

這篇文章給大家介紹Fair Scheduler相關參數有哪些,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

首先在yarn-site.xml中,將配置參數yarn.resourcemanager.scheduler.class設置為org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler。

Fair Scheduler的配置選項包括兩部分,其中一部分在yarn-site.xml中,主要用于配置調度器級別的參數,另外一部分在一個自定義配置文件(默認是fair-scheduler.xml)中,主要用于配置各個隊列的資源量、權重等信息。

想要了解Fair Scheduler是什么,可閱讀我的這篇文章“Hadoop公平調度器分析”。

1. 配置文件yarn-site.xml

(1) yarn.scheduler.fair.allocation.file :自定義XML配置文件所在位置,該文件主要用于描述各個隊列的屬性,比如資源量、權重等,具體配置格式將在后面介紹。

(2)  yarn.scheduler.fair.user-as-default-queue:當應用程序未指定隊列名時,是否指定用戶名作為應用程序所在的隊列名。如果設置為false或者未設置,所有未知隊列的應用程序將被提交到default隊列中,默認值為true。

(3)  yarn.scheduler.fair.preemption:是否啟用搶占機制,默認值是false。

(4)  yarn.scheduler.fair.sizebasedweight:在一個隊列內部分配資源時,默認情況下,采用公平輪詢的方法將資源分配各各個應用程序,而該參數則提供了另外一種資源分配方式:按照應用程序資源需求數目分配資源,即需求資源數量越多,分配的資源越多。默認情況下,該參數值為false。

(5)  yarn.scheduler.assignmultiple:是否啟動批量分配功能。當一個節(jié)點出現大量資源時,可以一次分配完成,也可以多次分配完成。默認情況下,該參數值為false。

(6)  yarn.scheduler.fair.max.assign:如果開啟批量分配功能,可指定一次分配的container數目。默認情況下,該參數值為-1,表示不限制。

(7)  yarn.scheduler.fair.locality.threshold.node:當應用 程序請求某個節(jié)點上資源時,它可以接受的可跳過的***資源調度機會。當按照分配策略,可將一個節(jié)點上的資源分配給某個應用程序時,如果該節(jié)點不是應用程序 期望的節(jié)點,可選擇跳過該分配機會暫時將資源分配給其他應用程序,直到出現滿足該應用程序需的節(jié)點資源出現。通常而言,一次心跳代表一次調度機會,而該參 數則表示跳過調度機會占節(jié)點總數的比例,默認情況下,該值為-1.0,表示不跳過任何調度機會。

(8)  yarn.scheduler.fair.locality.threshold.rack:當應用程序請求某個機架上資源時,它可以接受的可跳過的***資源調度機會。

(9)  yarn.scheduler.increment-allocation-mb:內存規(guī)整化單位,默認是1024,這意味著,如果一個Container請求資源是1.5GB,則將被調度器規(guī)整化為ceiling(1.5 GB / 1GB) * 1G=2GB。

(10)  yarn.scheduler.increment-allocation-vcores:虛擬CPU規(guī)整化單位,默認是1,含義與內存規(guī)整化單位類似。

2. 自定義配置文件

Fair Scheduler允許用戶將隊列信息專門放到一個配置文件(默認是fair-scheduler.xml),對于每個隊列,管理員可配置以下幾個選項:

(1)  minResources :最少資源保證量,設置格式為“X mb, Y  vcores”,當一個隊列的最少資源保證量未滿足時,它將優(yōu)先于其他同級隊列獲得資源,對于不同的調度策略(后面會詳細介紹),最少資源保證量的含義不 同,對于fair策略,則只考慮內存資源,即如果一個隊列使用的內存資源超過了它的最少資源量,則認為它已得到了滿足;對于drf策略,則考慮主資源使用 的資源量,即如果一個隊列的主資源量超過它的最少資源量,則認為它已得到了滿足。

(2)  maxResources:最多可以使用的資源量,fair scheduler會保證每個隊列使用的資源量不會超過該隊列的最多可使用資源量。

(3)  maxRunningApps:最多同時運行的應用程序數目。通過限制該數目,可防止超量Map Task同時運行時產生的中間輸出結果撐爆磁盤。

(4)  minSharePreemptionTimeout:最小共享量搶占時間。如果一個資源池在該時間內使用的資源量一直低于最小資源量,則開始搶占資源。

(5)  schedulingMode/schedulingPolicy:隊列采用的調度模式,可以是fifo、fair或者drf。

(6)  aclSubmitApps:可向隊列中提交應用程序的Linux用戶或用戶組列表,默認情況下為“*”,表示任何用戶均可以向該隊列提交應用程序。需要注意的是,該屬性具有繼承性,即子隊列的列表會繼承父隊列的列表。配置該屬性時,用戶之間或用戶組之間用“,”分割,用戶和用戶組之間用空格分割,比如“user1, user2 group1,group2”。

(7)  aclAdministerApps:該隊列的管理員列表。一個隊列的管理員可管理該隊列中的資源和應用程序,比如可殺死任意應用程序。

管理員也可為單個用戶添加maxRunningJobs屬性限制其最多同時運行的應用程序數目。此外,管理員也可通過以下參數設置以上屬性的默認值:

(1)  userMaxJobsDefault:用戶的maxRunningJobs屬性的默認值。

(2) defaultMinSharePreemptionTimeout :隊列的minSharePreemptionTimeout屬性的默認值。

(3)  defaultPoolSchedulingMode:隊列的schedulingMode屬性的默認值。

(4)  fairSharePreemptionTimeout:公平共享量搶占時間。如果一個資源池在該時間內使用資源量一直低于公平共享量的一半,則開始搶占資源。

】假設要為一個Hadoop集 群設置三個隊列queueA、queueB和queueC,其中,queueB和queueC為queueA的子隊列,且規(guī)定普通用戶最多可同時運行40 個應用程序,但用戶userA最多可同時運行400個應用程序,那么可在自定義配置文件中進行如下設置:

<allocations>   <queue name=”queueA”>     <minResources>100 mb, 100 vcores</minResources>     <maxResources>150 mb, 150 vcores</maxResources>     <maxRunningApps>200</maxRunningApps>     <minSharePreemptionTimeout>300</minSharePreemptionTimeout>     <weight>1.0</weight>     <queue name=”queueB”>        <minResources>30 mb, 30 vcores</minResources>        <maxResources>50 mb, 50 vcores</maxResources>     </queue>     <queue name=”queueC”>       <minResources>50 mb, 50 vcores</minResources>       <maxResources>50 mb, 50 vcores</maxResources>     </queue>   </queue>   <user name=”userA”>     <maxRunningApps>400</maxRunningApps>   </user>   <userMaxAppsDefault>40</userMaxAppsDefault>   <fairSharePreemptionTimeout>6000</fairSharePreemptionTimeout> </allocations>

關于Fair Scheduler相關參數有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI