1. 程式人生 > >Hadoop學習之Yarn

Hadoop學習之Yarn

Yarn是Hadoop的叢集資源管理系統,一些分散式計算框架(MapReduce,Spark等)作為Yarn應用執行在叢集計算層(Yarn)和叢集儲存層(HDFS和HBase),而Pig,Hive等應用是執行在分散式計算框架之上。

Yarn提供了三個排程器:

FIFO排程器:佇列,先進先出執行應用,不適合共享叢集,小作業容易被大作業阻塞。

容量排程器:一個獨立的佇列保證小作業一提交就可以啟動,以整個叢集的利用率為代價。與FIFO相比,大作業執行的時間更長。

公平排程器:不需要預留一部分資源,排程器會在所有執行的作業之間動態平衡資源。大作業開始後獲取全部的資源,然後小作業啟動並得到一半的資源,當小作業結束不再申請資源之後,大作業將再次使用所有的叢集資源。支援“搶佔”功能。所謂搶佔,就是允許排程器終止那些佔用資源超過了其公平共享份額的佇列的容器,這些容器資源釋放之後可以分配給資源數量低於應得份額的佇列。搶佔會降低整個叢集的效率。

延遲排程:一個應用請求某個節點,此時如果等待一小段時間(不超過幾秒),能夠戲劇性的增加在所請求的節點上分配到一個容器的機會,從而提高整個叢集的效率。 容器排程器和公平排程器都支援延遲排程。使用延遲排程的時候,排程器不會簡單的使用它收到的第一個排程機會,而是等待設定的最大數目的排程機會發生。