hadoop2.0中yarn的運行原理

Yarn的簡單介紹

         我們知道在離線大數據處理領域中,hadoop是目前無可厚非的處理架構,到目前爲止hadoop已經有三個大版本,每個版本下都有架構方面的調整。

         hadoop1.0中有一些弊端,比如hdfs元數據信息保存的單節點故障,並且任務計算框架只能使用mapreduce,而且造成了任務管理器的壓力過大,因此在hadoop2.0中加入了yarn資源統一管理的機制,不僅解決了元數據單節點故障問題(雙namenode)而且實現了元數據的實時熱備(共享機制JournalNode),在hdfsmr之間加入了yarn,統一協調資源。

         在本文中只介紹yarn的運行原理,其他有關知識可以查詢相關文檔,這裏就不多做介紹。

Yarn的運行原理圖(此處爲截圖)

yarn.png

原理介紹

1.         客戶端執行run方法,啓動任務,啓動過程中會檢測相應執行權限請求路徑等,若檢測失敗,則終止後續的執行

2.         第一步檢測通過後,向resourcemanager發送請求,並返回任務id,以及任務在hdfs的存放路勁

3.         客戶端接收到響應信息後,根據提交路徑,將job任務打包上傳到hdfs(共享文件系統)

4.         客戶端再次向resourcemanager提交job任務(application

5.         Resourcemanager根據任務提交由資源調度器申請一個資源容器container,並由applicationmanager選擇一臺nodemanager(節點的資源管理器),啓動一個與申請大小相同的container,並開啓一個applicationmaster(任務的子實例協調管理者)

6.         Appalicationmaster進行任務的初始化

7.         resourcemanager獲取執行任務在hdfs的位置,並根據任務信息計算mapreduce的數量

8.         根據初始化和運算結果,Appalicationmaster再根據mapreduce的任務大小依次到resourcemanager申請taskmapreduce)任務需要的container

9.         Applicationmaster申請到container後再次選擇一個nodemanager,併發送啓動container的指令

10.     Nodemanager收到指令後,啓動container並從任務所在的hdfs路勁中獲取執行的mapreduce任務

11.     啓動jvm虛擬機來執行獲取的mapreduce任務

注意:applicationmaster將監聽每一個nodemanager執行的情況並隨時彙報給resourcemanager,知道最後任務執行完成,將回收所有的資源,如果發現有任務執行失敗,則由applicationmaster來協調,減輕了resourcemanager的負擔,如果applicationmaster在運行過程中出問題,resourcemanager沒有接收心跳後,會再在所有nodemanager節點中選擇一個節點來啓動applicationmaster來繼續工作。

 

以上就是hadoop2.0yarn的運行原理,大家相互學習-------成長從博客開始


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