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

在hadoop1.x中YARN和MapReduce是集成在一起的,沒(méi)有單獨(dú)的資源管理,MapReduce執(zhí)行時(shí)需要的資源由其自身的服務(wù)來(lái)確定。在2.x版本后將資源管理獨(dú)立了出來(lái),將資源管理和計(jì)算進(jìn)行解耦合,使得大數(shù)據(jù)的其他計(jì)算框架也可以使用hadoop的資源管理系統(tǒng)。這樣可以保證集群內(nèi)的資源的統(tǒng)一調(diào)配。
3、 源碼分析思路
在分析hadoop之前需要配置部署一個(gè)hadoop平臺(tái)
然后先從hdfs開(kāi)始分析,hdfs是yarn和MapReduce的根基。
hdfs是一個(gè)文件系統(tǒng),它涉及的角色較多,主要會(huì)先從namenode開(kāi)始解析,namenode屬于hdfs的中心節(jié)點(diǎn),hdfs的所有角色都與其有交互。
解析namenode,首先需要解析其啟動(dòng)過(guò)程,namenode的啟動(dòng)過(guò)程較為復(fù)雜,與其他角色也有交互,所以在這個(gè)過(guò)程中也會(huì)解析其他的角色與節(jié)點(diǎn)。
然后使用一個(gè)文件的上傳與下載,來(lái)解析hdfs的文件操作。
解析完了hdfs之后在繼續(xù)解析yarn和MapReduce,因?yàn)檎邇蓚€(gè)原本就是在一起協(xié)同工作的,所以解析這兩個(gè)的時(shí)候需要一起解析。解析yarn和MapReduce的時(shí)候,使用一個(gè)MapReduce程序,以其在整個(gè)框架中的執(zhí)行流程來(lái)分析這個(gè)兩個(gè)框架。
以上就是Hadoop源碼分析一架構(gòu)關(guān)系簡(jiǎn)介的詳細(xì)內(nèi)容,本系列下一篇文章傳送門(mén)Hadoop源碼分析二安裝配置過(guò)程詳解
后續(xù)Hadoop源碼分析系列文章的資料請(qǐng)持續(xù)關(guān)注腳本之家!
相關(guān)文章
java 判斷兩個(gè)對(duì)象是否為同一個(gè)對(duì)象實(shí)例代碼
這篇文章主要介紹了java 判斷兩個(gè)對(duì)象是否為同一個(gè)對(duì)象實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-12-12
詳解java實(shí)現(xiàn)遍歷二叉樹(shù)的三種情況
這篇文章主要介紹了java實(shí)現(xiàn)遍歷二叉樹(shù)的三種情況,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
Java實(shí)現(xiàn)自定義枚舉值校驗(yàn)器的示例代碼
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)自定義枚舉值校驗(yàn)器的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2023-02-02
SpringMVC中的@ControllerAdvice使用場(chǎng)景詳解
這篇文章主要介紹了SpringMVC中的@ControllerAdvice使用場(chǎng)景詳解,在Spring?MVC進(jìn)行調(diào)用的過(guò)程中,會(huì)有很多的特殊的需求,比如全局異常,分頁(yè)信息和分頁(yè)搜索條件,請(qǐng)求時(shí)帶來(lái)返回時(shí)還得回顯頁(yè)面,需要的朋友可以參考下2024-01-01

