天天看點

Yarn知識點整理

        前段時間記錄了技術部落格Yarn快速入門系列(1-5),詳情請見​​Yarn專欄​​。最近打算花點時間把Yarn也精煉一番,整理出來,以便于後期的快速複習。

Yarn知識點整理

1、什麼是Yarn

2、Yarn特點

3、Yarn的意義

4、Yarn基本組成

5、Yarn送出任務的流程

6、Yarn的排程方式

7、參數yarn.scheduler.fair.allow-undeclared-pools的作用是?(true/false)

8、參數yarn.scheduler.fair.user-as-default-queue的作用是?(true/false)

9、介紹一下hadoopHA

10、ZKFC作用:

11、NameNode 中 Active狀态和StandBy狀态的确認:

12、ActiveNameNode當機之後故障如何轉移

13、兩個NameNode之間的中繼資料資訊如何實作快速同步?

        Yarn是通用資源管理系統和排程平台

        1、支援多計算架構

        2、資源使用率高,運作成本低,資料共享

        降低了企業硬體的成本(多個叢集變成一個叢集),減少了資源的浪費,營運成本低。

        ResourceManager:一個叢集資源排程的管理者

        NodeManager:一個節點資源排程的管理者(叢集各個節點資源的工作者)

        ApplicationMaster:一個計算任務的管理者

        Container:容器(cpu和記憶體)

        1、client向RM送出應用程式,其中包括啟動該應用的ApplicationMaster的必須資訊,例如ApplicationMaster程式、啟動ApplicationMaster的指令、使用者程式等。

        2、ResourceManager啟動一個container用于運作ApplicationMaster

        3、啟動中的ApplicationMaster向ResourceManager注冊自己,啟動成功後與RM保持心跳。

        4、ApplicationMaster向ResourceManager發送請求,申請相應數目的container。

        5、申請成功的container,由ApplicationMaster進行初始化。container的啟動資訊初始化後,AM與對應的NodeManager通信,要求NM啟動container。

        6、NM啟動啟動container。

        7、container運作期間,ApplicationMaster對container進行監控。container通過RPC協定向對應的AM彙報自己的進度和狀态等資訊。

        8、應用運作結束後,ApplicationMaster向ResourceManager登出自己,并允許屬于它的container被收回。

        FIFO Scheduler : 先進先出(先來後到的順序)

        Capacity Scheduler:容量排程

        Fair Scheduler:公平排程

1、先進先出:優先送出的,優先執行,後面送出的等待。(火車過隧道)。

2、容量排程:允許建立多個任務對列,每個隊列使用所有資源的一部分。多個任務對列可以同時執行。但是一個隊列内部還是先進先出。CDH預設的排程器。

3、公平排程:第一個程式在啟動時可以占用其他對列的資源(100%占用),當其他對列有任務送出時,占用資源的對列需要将資源還給該任務。還資源的時候,效率比較慢。

        如果送出一個任務沒有到任何的隊列,是否允許建立一個新的隊列,預設為true

        是否送出到預設隊列 ,以使用者名為預設隊列

        1、HadoopHA 包括兩個部分,NameNodeHA和ResourceManagerHA

        2、hadoop HA解決了早期版本中的NameNode單點問題。YarnHA解決了ResourceManager的單點問題

        3、NameNodeHA方案中包含兩個NameNode,一個是Active狀态,一個是StandBy狀态。每個NameNode配置設定在兩個完全獨立的伺服器中。每個Namenode所在的節點需配置一個ZKFC。

        4、兩個Namenode之間的中繼資料同步使用JN(JournalNode )傳遞。

        監控NameNode所在節點的硬體裝置,軟體,作業系統,同時維護與ZK的通信。主要用于兩個NameNode之間狀态切換時的資訊傳遞。

        兩個NameNode到ZooKeeper叢集注冊一個臨時的ZNode,哪個先注冊成功,哪個就是Active,另外一個就是StandBy。

        當ActiveNN節點故障 ——>

        ActiveZKFC通知ZK删除臨時ZNode ——>

        StandBy狀态的ZKFC訂閱這個臨時ZNode的變換,若ZNode消失,StandBy狀态的ZKCF立刻通知StandBy NN ——>

        StandBy NN 遠端登入ActiveNN,執行Kill -9 ActiveNN ——>

        StandBy NN通知StandBy ZKFC去ZK上注冊臨時ZNode,注冊成功切換為active狀态。

        ActiveNameNode實時将FSimage和日志接入JournalNode(高效的存儲系統)。StandByNameNode實時擷取JournalNode内部的資料,實作兩個節點的實時中繼資料同步。

Yarn知識點整理

        本篇的知識分享就到這裡,受益或對大資料技術感興趣的朋友可以關注一下我喲~

Yarn知識點整理

繼續閱讀