yarn簡答題

1、什麼是Yarn

         通用資源管理系統和調度平臺

2、Yarn特點:

  1. 支持多計算框架
  2. 資源利用率高,運行成本低,數據共享。

 

3、Yarn的意義:

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

 

4、Yarn基本組成

         ResourceManager  :一個集羣資源調度的管理者

         NodeManager          :一個節點資源調度的管理者(集羣各個節點資源的工作者)

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

         Container                   : 容器(cpu 和 內存)

 

5、Yarn提交任務的流程

  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被收回。

6、Yarn的調度方式

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

Capacity Scheduler:容量調度
Fair Scheduler:公平調度

 

  1. 先進先出:優先提交的,優先執行,後面提交的等待。(火車過隧道)。
  2. 容量調度:允許創建多個任務對列,每個隊列使用所有資源的一部分。多個任務對列可以同時執行。但是一個隊列內部還是先進先出。CDH默認的調度器。

3、公平調度:第一個程序在啓動時可以佔用其他對列的資源(100%佔用),當其他對列有任務提交時,佔用資源的對列需要將資源還給該任務。還資源的時候,效率比較慢。

 

 

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

如果提交一個任務沒有到任何的隊列,是否允許創建一個新的隊列,默認爲true

 

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

是否提交到默認隊列 ,以用戶名爲默認對列

 

 

9、介紹一下hadoopHA

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

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

         3、NNHA方案中包含兩個NN,一個是active狀態,一個是StandBy狀態。每個NN分配在兩個完全獨立的服務器中。每個NN所在的節點需配置一個ZKFC。

         4、兩個NN之間的元數據同步使用JN傳遞。

 

 

10、ZKFC作用:

監控NN所在節點的硬件設備、軟件(NN)、操作系統,同時維護與ZK的通信。主要用於兩個NN之間狀態切換時的信息傳遞。

 

11、NN  Active 狀態和StandBy狀態的確認:

         兩個NN到ZK集羣註冊一個臨時的ZNode,哪個先註冊成功,哪個就是Active,另外一個就是StandBy.

 

12、ActiveNN宕機後故障如何轉移

         當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狀態。

 

13、兩個NN之間的元數據信息如何實現快速同步?

 ActiveNN實時將FSimage和日誌接入JN(高效的存儲系統)。StandByNN實時獲取JN內部的數據,實現兩個節點的實時元數據同步。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章