yarn 資源排程器是直接從mr基礎上修改而來,它提供了三種可用資源排程器 :fifo scheduler ,capacity scheduler,fair scheduler。
一、排程原理
1.1 fifo scheduler
fifo是hadoop設計之初提供的乙個最簡單的排程機制: 即先來先服務。是最簡單、也是預設的排程器。只有乙個佇列,所有使用者共享。資源分配的過程也非常簡單,先到先得,所以很容易出現乙個使用者佔滿集群所有資源的情況。可以設定acl,但不能設定各個使用者的優先順序。
優點:實現簡單,無需做過多的配置。
缺點:只能對所有的任務按照同一優先順序處理。
先來的程式可能會把集群資源佔滿,這將導致其他使用者的程式無法及時執行。
程式併發執行度低。
1.2 capacity scheduler
capacity scheduler容量排程器在fifo的基礎上,增加多使用者支援,對資源進行劃分。每個佇列可設定一定比例的資源上下限。每個使用者也可設定一定的資源使用上限。列隊空閒時,也支援將空閒資源與其他佇列共享。也就是說,集群不忙時,和fifo差不多。這種設計是為了提高整個集群的利用率,避免集群有資源但不能提交任務的情況。
特點:資源保證:每個佇列都可以設定最低資源獲取保證,以及對使用者的資源使用上限設定。
彈性排程:佇列如有空閒資源,會將空閒資源與需要資源的佇列進行共享。但是一旦該佇列有新的任務了,並不會立即強制**共享的資源,而是先等待在強制。
多使用者管理:支援多使用者共享集群資源和多應用程式同時執行。
安全隔離:可以為每個佇列設定acl,用以限制使用者或者使用者組在該佇列提交應用程式。實現計算資源隔離。
動態配置:動態載入配置(不能刪除佇列)
1.3 fair scheduler
fair scheduler的設計目標是為所有的應用分配公平的資源。
特點:資源公平共享:每個佇列中,fair scheduler可選擇fifo、fair或者drf策略為應用程式分配資源。其中,fair策略是一種基於最大最小公平演算法(記憶體資源使用率比率)實現的資源多路復用方式,預設情況下,每個佇列內部採用該方式分配資源。schedulingpolicy設定佇列內部排程策略。如果是非葉子佇列,該排程策略為佇列間排程策略,如果沒有設定,則採用defaultqueueschedulingpolicy策略。
支援資源搶占:佇列空閒資源被共享給其他佇列後,如果再提交使用者程式,需要計算資源,排程器需要為它**資源。為了盡可能降低不必要的計算浪費,排程器採用了先等待再強制**的策略。如果等待一段時間後尚有未歸還的資源,則會進行資源搶占:從超額使用資源的佇列中殺死一部分任務,進而釋放資源。
負載均衡:fair scheduler盡可能把系統中的任務均勻分配到各個節點上。此外使用者也可以根據自己的需求設計負載均衡機制。
排程策略配置靈活: 每個佇列單獨設定排程策略(fifo、fair或drf)。
Yarn 資源排程策略
在yarn中有三種排程器可以選擇 fifo scheduler capacity scheduler,fair scheduler。配置方法 fifo scheduler把應用按提交的順序排成乙個佇列,這是乙個先進先出佇列,在進行資源分配的時候,先給佇列中最頭上的應用進行分配資源,待最頭上的應用需求...
Yarn資源排程
由於yarn良好的相容性和擴充套件性,目前可以支援大部分資料引擎,所以了解yarn的資源排程原理很有必要,yarn主要由四個重要角色組成 yarn排程主要分為8個步驟如上圖所示 1.有yarnclient提交program資訊打拼resourcemanager,包括 應用 和應用需要的一切引數和環境...
Yarn資源排程
yarn的介紹 yarn是hadoop集群當中的資源管理系統模組,從hadoop2.0開始引入yarn模組,yarn可為各類計算框架提供資源的管理和排程,主要用於管理集群當中的資源 主要是伺服器的各種硬體資源,包括cpu,記憶體,磁碟,網路io等 以及排程執行在yarn上面的各種任務。yarn核心出...