hadoop入門--簡述Hadoop 1.X 系統原理

一、hadoop 1.x結構

這裏寫圖片描述

  • HDFS:hadoop分佈式存儲系統。
  • MapReduce:分佈式計算框架,包含資源管理和任務調度等(hadoop 2.x中被分離到Yarn組件)。
  • API:用戶與系統交互的入口,有原生的MapReduce API,也有對Map Reduce進行封裝抽象的Pig、Hive和HBase等。

二、hadoop 1.x運行原理

這裏寫圖片描述

  • 1:客戶端首先向Master節點的JobTracker發送請求,JobTracker會解析請求信息判斷要處理的是什麼文件。

  • 2–>3:JobTracker向hdfs中的NameNode發送請求,獲取文件所在的位置、名稱以及文件所對應的所有data block信息。

  • 4:JobTracker計算處理這些data block所需要的map task和reduce task的數量,並且把這些任務加入任務隊列。

  • 5–>6: JobTracker查看組成文件的data block所在的DataNode節點的狀態,檢查是否有空閒的map
    slot或者reduce slot。如果有空閒的slot,JobTracker向DataNode的TaskTracker發起請求處理數據任務,然後TaskTracker把slot所對應的處理資源調度給map task或者reduce task,MapReduce job數據處理階段開始。TaskTracker監視任務的狀態,並把狀態發送JobTracker。

  • 7: TaskTracker瞭解到所有的task都完成時,把處理響應反饋給客戶端。

小貼士:
1、TaskTracker是以slot的形式處理本地資源,把本地資源邏輯上拆分爲一個個slot,每一個slot對應每一個task。
2、DataNode會週期性的向NameNode發送block report和節點運行狀態,因此NameNode能夠準實時的掌握hdfs集羣的的信息。


學習資料:
1、《Hadoop For Dummies》

發佈了34 篇原創文章 · 獲贊 31 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章