Hadoop2.0架構設計與原理_第1頁
Hadoop2.0架構設計與原理_第2頁
Hadoop2.0架構設計與原理_第3頁
Hadoop2.0架構設計與原理_第4頁
Hadoop2.0架構設計與原理_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Hadoop2.0架構設計與原理數據中心-Alan主要內容Hadoop介紹1Hadoop原理2HadoopYARN產生的背景

34HadoopYARN根本架構5運行在YARN上的計算框架6YARN進展趨勢主要內容Hadoop介紹1Hadoop原理2HadoopYARN產生的背景

34HadoopYARN根本架構5運行在YARN上的根本框架6YARN進展趨勢Hadoop概述Hadoop是一個開源的、牢靠的、可擴展的分布式并行計算框架主要組成:分布式文件系統(tǒng)HDFS和MapReduce算法執(zhí)行作者:DougCutting語言:Java,支持多種編程語言,如:Python、C++Hadoop的起源Hadoop是Google的集群系統(tǒng)的開源實現Google集群系統(tǒng):GFS(GoogleFileSystem)、MapReduce、BigTableHadoop主要由HDFS(HadoopDistributedFileSystemHadoop分布式文件系統(tǒng))、MapReduceHadoop的初衷是為解決Nutch的海量數據爬取和存儲的需要Hadoop于2023年秋天作為Lucene的子工程Nutch的一局部正式引入Apache基金會。名稱起源:DougCutting兒子的黃色大象玩具的名字目前最新穩(wěn)定版本什么是大數據數據集主要特點Volume:數量量從TB到PB級別Variety:數據類型簡潔,超過80%的數據是非構造化的Velocity:數據量在持續(xù)增加(兩位數的年增長率)Value:巨大的數據價值其他特征數據來自大量源,需要做相關性分析需要實時或者準實時的流式采集,有些應用90%寫vs.10%讀數據需要長時間存儲,非熱點數據也會被隨機訪問什么是大數據某比薩店的鈴響了,客服人員拿起??头篨XX比薩店。您好,請問有什么需要我為您效勞?顧客:你好,我想要一份……客服:先生,煩請先把您的會員卡號告知我。顧客:16846146***??头宏愊壬?!您是住在泉州路一號12樓120x室,請問您想要點什么?顧客:我想要一個海鮮比薩……客服:陳先生,海鮮比薩不適合您。顧客:為什么?客服:依據您的醫(yī)療記錄,你的血壓和膽固醇都偏高。顧客:那你們有什么可以推舉的?客服:您可以試試我們的低脂安康比薩。顧客:你怎么知道我會寵愛吃這種的?客服:您上星期一在中心圖書館借了一本《低脂安康食譜》。顧客:好。那我要一個家庭特大號比薩,要付多少錢?客服:99元,這個足夠您一家六口吃了。但您母親應當少吃,她上個月剛剛做了心臟搭橋手術,還處在恢復期。顧客:那可以刷卡嗎?客服:陳先生,對不起。請您付現款,由于您的信用卡已經刷爆了,您現在還欠銀行4807元,而且還不包括房貸利息。顧客:那我先去四周的提款機提款。客服:陳先生,依據您的記錄,您已經超過今日提款限額。顧客:算了,你們直接把比薩送我家吧,家里有現金。你們多久會送到?客服:大約30分鐘。假設您不想等,可以自己騎車來。顧客:為什么?客服:依據我們全球定位系統(tǒng)的車輛行駛自動跟蹤系統(tǒng)記錄。您登記有一輛車號為SB-748的摩托車,而目前您正在解放路東段華聯商場右側騎著這輛摩托車。顧客當即暈倒……大數據VS傳統(tǒng)數據

大數據處理流程0101非構造化數據構造化數據實時流數據其它數據APITextBigDataStoreandAnalyticsETLHadoop生態(tài)圈主要內容Hadoop介紹1Hadoop原理2HadoopYARN產生的背景

34HadoopYARN根本架構5運行在YARN上的根本框架6YARN進展趨勢HDFS-分布式文件系統(tǒng)

設計目標錯誤檢測和快速自動恢復硬件故障是常態(tài)而非特殊為流式數據訪問優(yōu)化針對支持大數據集單個文件大小有數GB或者TB可供給高聚合帶寬訪問可能夠擴展至數千個節(jié)點簡化“全都性”模型一次寫入、屢次讀,寫入過程可能并發(fā)移動“計算”比移動“數據”更廉價主要特點使用低本錢存儲和效勞器構建存放PB級別的海量數據高可擴展性,實際生產環(huán)境擴展至4000個節(jié)點高牢靠性和容錯性,數據自動復制,可自我修復高帶寬,高并發(fā)訪問,對于延遲不敏感數據分布與復制數據塊:文件被劃分為固定大小的數據塊進展存儲數據塊缺省為64M,遠大于一般文件系統(tǒng)數據塊大小削減元數據的量有利于挨次讀寫〔在磁盤上挨次存放〕牢靠性:數據通過副本的方式保存在多個數據節(jié)點上默認3個副本副本選擇會考慮機架信息以防止整個機架同時掉電系統(tǒng)設計優(yōu)化:用單個治理節(jié)點來保存文件系統(tǒng)元數據和治理/協調數據緩存:DataNode沒有數據緩存由于文件的訪問是掃描式的,不具有局部性訪問方式讀、寫、文件改名、刪除等文件內容不允許掩蓋更新供給一個特殊的訪問接口:追加appendHDFS根本設計

HDFS體系構造

中心名目效勞器(NameNode)治理大量數據效勞器(DataNode)NameNode治理元數據(文件名目樹,文件->塊映射,塊->數據效勞器映射表,etc.)DataNode負責存儲數據、以及響應數據讀寫懇求客戶端與NameNode交互進展文件創(chuàng)立/刪除/尋址等操作,之后直接與DataNodes交互進展文件I/OHDFS寫文件流程HDFS讀文件流程什么是MapReduce編程模型?

Map(映射):對一些獨立元素組成的列表的每一個元素進展指定的操作,可以高度并行。Reduce(化簡):對一個列表的元素進展合并。一個簡潔的MapReduce程序只需要指定map、reduce、輸入和輸出,剩下的事由框架幫你搞定。MapReduce計算框架

為離線數據分析而設計,根本上是個利用數據并行性進展分布運算而后匯總結果的計算框架分析問題能夠被并行化,且輸入數據集可以被切分一個Map函數,在第一階段計算<Key,Value>對一個Reduce函數,在其次階段用于匯總Map函數的結果MapReduce運行機制MapReduce原理MapReduce實例分析主要內容Hadoop介紹1Hadoop原理2HadoopYARN產生的背景

34HadoopYARN根本架構5運行在YARN上的根本框架6YARN進展趨勢Hadoop

YARN產生背景

直接源于MRv1在幾個方面的缺陷

擴展性受限

單點故障

難以支持MR之外的計算

多計算框架各自為戰(zhàn),數據共享困難

MR:離線計算框架

Storm:實時計算框架

Spark:內存計算框架Hadoop

1.0和2.0Hadoop2.0由HDFS、MapReduce和YARN三個分支構成;HDFS:NNFederation、HA;MapReduce:運行在YARN上的MR; YARN:資源治理系統(tǒng)主要內容Hadoop介紹1Hadoop原理2HadoopYARN產生的背景

34HadoopYARN根本架構5運行在YARN上的根本框架6YARN進展趨勢HadoopYARN根本架構Hadoop

YARN各模塊組成ResourceManager處理客戶端懇求啟動/監(jiān)控ApplicationMaster監(jiān)控NodeManager資源安排與調度NodeManager單個節(jié)點上的資源治理處理來自ResourceManager的命令處理來自ApplicationMaster的命令ApplicationMaster數據切分為應用程序申請資源,并安排給內部任務任務監(jiān)控與容錯Hadoop

YARN運行流程分析NodeManagerNodeManagerNodeManagerResourceManagerApplicationMasterClientClientClient①②③④⑤⑤⑤⑥⑥TaskContainerContainerTaskTaskContainerHadoop

YARN容錯ResourceManager基于ZooKeeper實現HA。NodeManager失敗后,RM將失敗任務告知對應的AM;AM準備如何處理失敗的任務。ApplicationMaster失敗后,由RM負責重啟;AM需處理內部任務的容錯問題;RMAppMaster會保存已經運行完成的Task,重啟后無需重新運行。Hadoop

YARN調度框架雙層調度框架RM將資源安排給AMAM將資源進一步安排給各個Task基于資源預留的調度策略資源不夠時,會為Task預留,直到資源充分與“allornothing”策略不同〔ApacheMesos〕Hadoop

YARN資源調度器多類型資源調度承受DRF算法〔論文:“DominantResourceFairness:FairAllocationofMultipleResourceTypes”〕目前支持CPU和內存兩種資源供給多種資源調度器FIFOFairSchedulerCapacityScheduler多租戶資源調度器支持資源按比例安排支持層級隊列劃分方式支持資源搶占Hadoop

YARN資源隔離方案支持內存和CPU兩種資源隔離內存是一種“準備生死”的資源CPU是一種“影響快慢”的資源內存隔離基于線程監(jiān)控的方案基于Cgroups的方案CPU隔離默認不對CPU資源進展隔離基于Cgroups的方案Hadoop

YARN資源調度語義支持的語義懇求某個特定節(jié)點/機架上的特定資源量將某些節(jié)點參與〔或移除〕黑名單,不再為自己安排這些節(jié)點上的資源懇求歸還某些資源不支持的語義懇求任意節(jié)點/機架上的特定資源量懇求一組或幾組符合某種特質的資源超細粒度資源動態(tài)調整Container資源主要內容Hadoop介紹1Hadoop原理2HadoopYARN產生的背景

34HadoopYARN根本架構5運行在YARN上的根本框架6YARN進展趨勢應用程序的運行模型MapinputoutputMapinputReduceoutputStage1inputoutputStage2Stage3Stage4Stage1inputoutputStage2Stage3StageNYARN應用程序類型

長應用程序和短應用程序

長應用程序

Service、HTTP

Server等

短應用程序

MR

job、Spark

Job等以YARN為核心的生態(tài)系統(tǒng)運行在YARN上的計算框架

離線計算框架:MapReduce

DAG計算框架:Tez

流式計算框架:Storm

內存計算框架:Spark

圖計算框架:Giraph、GraphLib離線計算框架MapReduce將計算過程分為兩個階段,Map和ReduceMap階段并行處理輸入數據Reduce階段對Map結果進展匯總Shuffle連接Map和Reduce兩個階段MapTask將數據寫到本地磁盤ReduceTask從每個MapTask上讀取一份數據僅適合離線批處理具有很好的容錯性和擴展性適合簡潔的批處理任務缺點明顯啟動開銷大、過多使用磁盤導致效率低下等MapReduce

On

YARN2 5MRAppMstrNodeManagerMapTaskNodeManager6 6ReduceTaskClient1Container245MapTask 777ContainerContainerContainerResourceManager3,86ApplicationsManagerResourceSchedulerDAG計算框架Tez多個作業(yè)之間存在數據依靠關系,并形成一個依靠關系有向圖〔DirectedAcyclicGraph〕,該圖的計算稱為“DAG計算”ApacheTez:基于YARN的DAG計算框架運行在YARN之上,充分利用YARN的資源治理和容錯等功能;供給了豐富的數據流〔dataflow〕API;擴展性良好的“Input-Processor-Output”運行時模型;動態(tài)生成物理數據流關系。Phase

1Phase

2Phase

3Phase

4Phase

5MapReduceMapReduceReduceDAG計算框架TezHDFSMap1Reduce1HDFSHDFSMap2Reduce2HDFSWordCountTop

KHDFSMap1Reduce12HDFSWordCount+Top

KReduce2Job1Job2DAG

JobUsingTezJob1Job2Job4SingleJobUsingTez

On

YARNDAG

AppMstrNodeManager2 5Vertex-ATaskNodeManagerVertex-ATaskClient1Container245Vertex-ATask777ContainerContainerContainerResourceManager3,866ApplicationsManagerResourceSchedulerTez優(yōu)化技術ApplicationMaster緩沖池作業(yè)提交到AMPoolServer效勞上預啟動假設干個ApplicationMaster,形成一個ApplicationMaster緩沖池預先啟動ContainerApplicationMaster啟動時可以預先啟動假設干個ContainerContainer重用任務運行完成后,ApplicationMaster不會馬上注銷它使用的Container,而是將它重新安排給其他未運行的任務Tez應用場景直接編寫應用程序Tez供給了一套通用編程接口適合編寫有依靠關系的作業(yè)優(yōu)化Pig、Hive等引擎下一代Hive:Stinger好處1:避開查詢語句轉換成過多的MapReduce作業(yè)后產生大量不必要的網絡和磁盤IO好處2:更加智能的任務處理引擎流式計算Storm流式〔Streaming〕計算,是指被處理的數據像流水一樣不斷流入系統(tǒng),而系統(tǒng)需要針對每條數據進展實時處理和計算,并永不停頓〔直到用戶顯式殺死進程〕;傳統(tǒng)做法:由消息隊列和消息處理者組成的實時行實時計算;化性現。處理網絡進缺乏自動缺乏強健伸縮性差Storm出引自:2023中國大數據技術大會肖康:“Storm在實時網絡攻擊檢測和分析的應用與改進”,PPT::///slides/1230流式計算框架StormNimbusSupervisorZookeeperExecutorExecutorWorkerExecutorExecutorWorkerSpoutTasks,topology1Blot-ATasks,topology1SupervisorExecutorExecutorWorkerExecutorExecutorWorkerSupervisorExecutorExecutorWorkerExecutorExecutorWorkerSpoutTasks,topology1Blot-BTasks,topology1SpoutTasks,topology2Blot-1Tasks,topology2Blot-CTasks,topology1Blot-BTasks,topology1Blot-2Tasks,topology2Blot-1Tasks,topology2Blot-2Tasks,topology2Blot-2Tasks,topology2流式計算框架StormTaskTaskTaskTaskTaskTaskTaskTaskTaskSpoutBlot-ABlot-BBlot-CStreamGroupingStreamGroupingTopologyHadoop

MapReduce(MRv1)Storm系統(tǒng)服務JobTrackerNimbusTaskTrackerSupervisorChildWorker應用程序名稱JobTopology編程模型Map/ReduceSpout/BlotShuffleStream

GroupingStorm

On

YARNResourceManagerNodeManagerNodeManagerStormSupervisiorNodeManager②④④④YARN-StormClientYARN-MPIClientYARN-MapReduceeClientStorm

①SubmissionResource

RequestStormApplicationMaster③StormSupervisiorZookeeperNodeManagerMRAppMstrContainerMapTaskContainer……StormClient⑤StormClient⑤NimbusWeb

UI內存計算框架Spark抑制MapReduce在迭代式計算和交互式計算方面的缺乏;引入RDD〔ResilientDistributedDatasets〕數據表示模型;RDD是集合,一個有容錯機制,可以被并能夠被緩存到內存或磁盤上行操作的數據。引自:“基于SparkonYarn的淘寶數據挖掘平臺”,PPT:://vdisk.weibo/s/dn9q7A_XuVrf內存計算框架SparkSpark

On

YARNResourceManagerNodeManagerNodeManagerStandaloneExecutorBackenddNodeManagerYARN-SparkClientYARN-MPIClientYARN-MapReducee

ClientSparkSubmissionResource

RequestClusterSchedulerSpark

Application

MasterStandaloneExecutorBackendNodeManagerMR

AppMstrContainerMap

TaskContainer……Web

UISpark生態(tài)系統(tǒng)主要內容Hadoop介紹1Hadoop原理2HadoopYARN產生的背景

34HadoopYARN根本架構5運行在YARN上的根本框架6YARN進展趨勢資源治理系統(tǒng)帶來的好處

提高集群資源利用率 效勞自動化部署YARN(資源治理系

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論