Hadoop Yarn 三種資源排程器詳解

2021-10-08 15:25:53 字數 1664 閱讀 3010

目前,hadoop作業排程器主要有三種:fifo、capacity scheduler、fair scheduler。hadoop3.1.3預設的資源排程器是capacity scheduler。

hadoop最初設計目的是支援大資料批處理作業,如日誌挖掘、web索引等作業,為此,hadoop僅提供了乙個非常簡單的排程機制:fifo,即先來先服務,在該排程機制下,所有作業被統一提交到乙個佇列中,hadoop按照提交順序依次執行這些作業。

但隨著hadoop的普及,單個hadoop集群的使用者量越來越大,不同使用者提交的應用程式往往具有不同的服務質量要求,典型的應用有以下幾種:

此外,這些應用程式對硬體資源需求量也是不同的,如過濾、統計類作業一般為cpu密集型作業,而資料探勘、機器學習作業一般為i/o密集型作業。因此,簡單的fifo排程策略不僅不能滿足多樣化需求,也不能充分利用硬體資源。

capacity scheduler是yahoo開發的多使用者排程器,它以隊列為單位劃分資源,每個佇列可設定一定比例的資源最低保證和使用上限,同時,每個使用者也可設定一定的資源使用上限以防止資源濫用。而當乙個佇列的資源有剩餘時,可暫時將剩餘資源共享給其他佇列。總之,capacity scheduler主要有以下幾個特點:

fair schedulere是facebook開發的多使用者排程器。

公平排程器的目的是讓所有的作業隨著時間的推移,都能平均地獲取等同的共享資源。當有作業提交上來,系統會將空閒的資源分配給新的作業,每個任務大致上會獲取平等數量的資源。和傳統的排程策略不同的是它會讓小的任務在合理的時間完成,同時不會讓需要長時間執行的耗費大量資源的任務挨餓!

capacity scheduler類似,它以隊列為單位劃分資源,每個佇列可設定一定比例的資源最低保證和使用上限,同時,每個使用者也可設定一定的資源使用上限以防止資源濫用;當乙個佇列的資源有剩餘時,可暫時將剩餘資源共享給其他佇列。當然,fair scheduler也存在很多與capacity scheduler不同之處,這主要體現在以下幾個方面:

資源公平共享。在每個佇列中,fair scheduler 可選擇按照fifo、fair或drf策略為應用程式分配資源。

支援資源搶占。當某個佇列中有剩餘資源時,排程器會將這些資源共享給其他佇列,而當該佇列中有新的應用程式提交時,排程器要為它**資源。為了盡可能降低不必要的計算浪費,排程器採用了先等待再強制**的策略,即如果等待一段時間後尚有未歸還的資源,則會進行資源搶占:從那些超額使用資源的佇列中殺死一部分任務,進而釋放資源。yarn.scheduler.fair.preemption=true通過該配置開啟資源搶占。

提高小應用程式響應時間。由於採用了最大最小公平演算法,小作業可以快速獲取資源並執行完成

Tocat載入資源的三種方式

三種方式 首先,不管哪一種,你的專案一定是這樣的 專案名資料夾 rmssrv rmssrv fingerprint.jsp i18nlib.jsp index.html index.jsp web inf web.xml classes echoheaders.class lib db2jcc.ja...

模型調參的三種常用方法

模型調參的三種常用方法 1.貪心演算法 1 概念 所謂貪心演算法是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,它所做出的僅僅是在某種意義上的區域性最優解。貪心演算法沒有固定的演算法框架,演算法設計的關鍵是貪心策略的選擇。必須注意的是,貪心演算法不是對所有問題...

SpringMVC訪問靜態資源的三種方式

轉到 最近專案中使用到spring3,在感嘆spring3註解配置清爽的同時竟然出現了這個不和諧的事情,實在無法忍受 問題 部署專案後程式載入或用瀏覽器訪問時出現類似的警告,2011 01 19 10 52 51,646 warn org.springframework.web.servlet.pa...