Hadoop技術生態(tài)的組成部分:
- Hadoop Common:支持Hadoop其他模塊的通用工具
- HDFS:分布式文件系統(tǒng),提供了高吞吐量的數(shù)據(jù)訪問(最初始模塊之一)
- YARN:作業(yè)調(diào)度和資源管理的框架
- MapReduce:基于YARN的大數(shù)據(jù)分布式計算框架(最初始模塊之一)
HDFS
利用多個商業(yè)硬件構(gòu)成存儲集群,利用namenode進行數(shù)據(jù)的存儲控制,具有支持超大文件、存儲靈活、可靠性高等特定,面對大量數(shù)據(jù)存儲的時候,能夠高效地工作。(但在處理大量小數(shù)據(jù)、需要進行低延遲數(shù)據(jù)訪問和需要多用戶訪問寫入等場景下,任存在不足。)其主要的組件如下:
-
- Namenode: 管理者,負責文件系統(tǒng)的命名,記錄所有文件和目錄。同時,它還負責臨時保存塊的位置信息。
- Datanode: 工作者,是文件系統(tǒng)的工作節(jié)點,根據(jù)需要存儲并檢索數(shù)據(jù)庫,定期向namenode發(fā)送存儲塊,namenode則負責記錄如何重建文件。
當通過文件系統(tǒng)接口訪問數(shù)據(jù),其實質(zhì)是在于namenode和datanode進行交互,namenode像是大腦對神經(jīng)的反饋進行綜合處理,datanode則像是末梢神經(jīng)。
MapReduce
- 編程模型:Map階段、Reduce階段
- 數(shù)據(jù)處理引擎:MapTask、ReduceTask
- 運行時環(huán)境分兩種:
- (MR1): JobTracker(資源管理和作業(yè)控制)和TaskTracker(接受JT命令并具體執(zhí)行)
- (MR2): 是運行于YARN之上的計算框架,YARN(資源管理與調(diào)度)和ApplicationMaster(作業(yè)控制)。
YARN
- 基本構(gòu)造:
- ResourceManager:全局的資源管理器,負責整個集群的資源管理、分配與調(diào)度。
- Scheduler(調(diào)度器),純調(diào)度器,默認下是Fair Scheduler
- NodeManager:對每一個slave上的資源和任務做管理
- 1) 定時的向RM匯報HearBeat(資源的使用情況和Container的運行狀態(tài))
- 2) 接受來自AM的啟動/停止的請求
- Container:資源分配單位(MRv1中Slot),動態(tài)分配。
- ApplicationMaster:每個APP都會包含一個AM,AM的功能包括:
- 1) 向RM申請資源(用Container資源抽象)
- 2) 將任務做進一步的分配
- 3) 與NM通信啟動/停止任務
- 4) 跟蹤每一個Task的運行狀態(tài)(包括Failed后的操作)
- 運行模式:
參考:
- Google三篇論文:(若如下網(wǎng)址無法打開,可復制此連接自行下載:https://files.cnblogs.com/files/yxmings/Bigdata_platform%EF%BC%9AGoogle%E4%B8%89%E7%AF%87%E8%AE%BA%E6%96%87.zip)
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。