Hadoop源碼分析一架構關系簡介
1、 簡介
Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎架構
Hadoop起源于谷歌發(fā)布的三篇論文:GFS、MapReduce、BigTable。其中GFS是谷歌的分布式文件存儲系統(tǒng),MapReduce是基于這個分布式文件存儲系統(tǒng)的一個計算框架,BigTable是一個分布式的數據庫。hadoop實現了論文GFS和MapReduce中的內容,Hbase的實現了參考了論文BigTable。
2、 hadoop架構
hadoop主要有三個組件
HDFS、YARN和MapReduce。其中YARN是hadoop2.x版本推出的。本文基于hadoop2.7.6分析。
HDFS是基于谷歌的GFS實現的,它是一個分布式的文件系統(tǒng)。YARN是一個資源管理系統(tǒng),主要負責管理集群內的cpu和內存等資源,為MapReduce等計算任務分配資源。MapReduce即上文提到的計算框架。
hadoop的這三個組件間的關系如下圖:

在hadoop1.x中YARN和MapReduce是集成在一起的,沒有單獨的資源管理,MapReduce執(zhí)行時需要的資源由其自身的服務來確定。在2.x版本后將資源管理獨立了出來,將資源管理和計算進行解耦合,使得大數據的其他計算框架也可以使用hadoop的資源管理系統(tǒng)。這樣可以保證集群內的資源的統(tǒng)一調配。
3、 源碼分析思路
在分析hadoop之前需要配置部署一個hadoop平臺
然后先從hdfs開始分析,hdfs是yarn和MapReduce的根基。
hdfs是一個文件系統(tǒng),它涉及的角色較多,主要會先從namenode開始解析,namenode屬于hdfs的中心節(jié)點,hdfs的所有角色都與其有交互。
解析namenode,首先需要解析其啟動過程,namenode的啟動過程較為復雜,與其他角色也有交互,所以在這個過程中也會解析其他的角色與節(jié)點。
然后使用一個文件的上傳與下載,來解析hdfs的文件操作。
解析完了hdfs之后在繼續(xù)解析yarn和MapReduce,因為者兩個原本就是在一起協同工作的,所以解析這兩個的時候需要一起解析。解析yarn和MapReduce的時候,使用一個MapReduce程序,以其在整個框架中的執(zhí)行流程來分析這個兩個框架。
以上就是Hadoop源碼分析一架構關系簡介的詳細內容,本系列下一篇文章傳送門Hadoop源碼分析二安裝配置過程詳解
后續(xù)Hadoop源碼分析系列文章的資料請持續(xù)關注腳本之家!
相關文章
SpringMVC中的@ControllerAdvice使用場景詳解
這篇文章主要介紹了SpringMVC中的@ControllerAdvice使用場景詳解,在Spring?MVC進行調用的過程中,會有很多的特殊的需求,比如全局異常,分頁信息和分頁搜索條件,請求時帶來返回時還得回顯頁面,需要的朋友可以參考下2024-01-01

