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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、,Hadoop2.0架構(gòu)設(shè)計與原理,數(shù)據(jù)中心-Alan,主要內(nèi)容,Hadoop介紹,1,Hadoop原理,2,Hadoop YARN產(chǎn)生的背景,3,4,Hadoop YARN基本架構(gòu),5,運行在YARN上的計算框架,6,YARN 發(fā)展趨勢,主要內(nèi)容,Hadoop介紹,1,Hadoop原理,2,Hadoop YARN產(chǎn)生的背景,3,4,Hadoop YARN基本架構(gòu),5,運行在YARN上的基本框架,6,YARN 發(fā)展趨勢,Hadoop概述,Hadoop是一個開源的、可靠的、可擴展的分布式并行計算框架 主要組成:分布式文件系統(tǒng)HDFS和MapReduce算法執(zhí)行 作者:Doug Cutting 語

2、言:Java,支持多種編程語言,如:Python、C+,Hadoop的起源,Hadoop是Google的集群系統(tǒng)的開源實現(xiàn) Google集群系統(tǒng):GFS(Google File System)、MapReduce、BigTable Hadoop主要由HDFS(Hadoop Distributed File System Hadoop分布式文件系統(tǒng))、MapReduce Hadoop的初衷是為解決 Nutch 的海量數(shù)據(jù)爬取和存儲的需要 Hadoop于2005年秋天作為 Lucene的子項目Nutch的一部分正式引入Apache基金會。 名稱起源: Doug Cutting兒子的黃色大象玩具的名

3、字 目前最新穩(wěn)定版本2.6.0,什么是大數(shù)據(jù),數(shù)據(jù)集主要特點 Volume: 數(shù)量量從TB到PB級別 Variety: 數(shù)據(jù)類型復(fù)雜,超過80%的數(shù)據(jù)是非結(jié)構(gòu)化的 Velocity:數(shù)據(jù)量在持續(xù)增加(兩位數(shù)的年增長率) Value:巨大的數(shù)據(jù)價值 其他特征 數(shù)據(jù)來自大量源,需要做相關(guān)性分析 需要實時或者準實時的流式采集,有些應(yīng)用90%寫vs.10%讀 數(shù)據(jù)需要長時間存儲,非熱點數(shù)據(jù)也會被隨機訪問,什么是大數(shù)據(jù),某比薩店的電話鈴響了,客服人員拿起電話。 客服:XXX比薩店。您好,請問有什么需要我為您服務(wù) ? 顧客:你好,我想要一份 客服:先生,煩請先把您的會員卡號告訴我。 顧客:16846146

4、*。 客服:陳先生,您好!您是住在泉州路一號12樓120 x室,請問您想要點什么? 顧客:我想要一個海鮮比薩 客服:陳先生,海鮮比薩不適合您。 顧客:為什么? 客服:根據(jù)您的醫(yī)療記錄,你的血壓和膽固醇都偏高。,顧客:那你們有什么可以推薦的? 客服:您可以試試我們的低脂健康比薩。 顧客:你怎么知道我會喜歡吃這種的? 客服:您上星期一在中央圖書館借了一本低脂健康食譜。 顧客:好。那我要一個家庭特大號比薩,要付多少錢? 客服:99元,這個足夠您一家六口吃了。但您母親應(yīng)該少吃,她上個月剛剛做了心臟搭橋手術(shù),還處在恢復(fù)期。 顧客:那可以刷卡嗎? 客服:陳先生,對不起。請您付現(xiàn)款,因為您的信用卡已經(jīng)刷爆了

5、,您現(xiàn)在還欠銀行4807元,而且還不包括房貸利息。 顧客:那我先去附近的提款機提款。 客服:陳先生,根據(jù)您的記錄,您已經(jīng)超過今日提款限額。 顧客:算了,你們直接把比薩送我家吧,家里有現(xiàn)金。你們多久會送到? 客服:大約30分鐘。如果您不想等,可以自己騎車來。 顧客:為什么? 客服:根據(jù)我們?nèi)蚨ㄎ幌到y(tǒng)的車輛行駛自動跟蹤系統(tǒng)記錄。您登記有一輛車號為SB-748的摩托車,而目前您正在解放路東段華聯(lián)商場右側(cè)騎著這輛摩托車。 顧客當(dāng)即暈倒,大數(shù)據(jù)VS傳統(tǒng)數(shù)據(jù),大數(shù)據(jù)處理流程,10101001010101010111 10101001010101010111,01011010100101010101011

6、1 010110101001010101010111 10101001010101010111,非結(jié)構(gòu)化數(shù)據(jù),結(jié)構(gòu)化數(shù)據(jù),實時流數(shù)據(jù),其它數(shù)據(jù),API,Text,Big Data Store and Analytics,ETL,010110101001010101010111 010110101001010101010111 10101001010101010111 010110101001010101010111 010110101001010101010111 10101001010101010111,Hadoop生態(tài)圈,主要內(nèi)容,Hadoop介紹,1,Hadoop原理,2,Hadoop

7、YARN產(chǎn)生的背景,3,4,Hadoop YARN基本架構(gòu),5,運行在YARN上的基本框架,6,YARN 發(fā)展趨勢,HDFS-分布式文件系統(tǒng),設(shè)計目標 錯誤檢測和快速自動恢復(fù) 硬件故障是常態(tài)而非異常 為流式數(shù)據(jù)訪問優(yōu)化 針對支持大數(shù)據(jù)集 單個文件大小有數(shù)GB或者TB 可提供高聚合帶寬訪問 可能夠擴展至數(shù)千個節(jié)點 簡化“一致性”模型 一次寫入、多次讀,寫入過程可能并發(fā) 移動“計算”比移動“數(shù)據(jù)”更便宜 主要特點 使用低成本存儲和服務(wù)器構(gòu)建 存放PB級別的海量數(shù)據(jù) 高可擴展性,實際生產(chǎn)環(huán)境擴展至4000個節(jié)點 高可靠性和容錯性,數(shù)據(jù)自動復(fù)制,可自我修復(fù) 高帶寬,高并發(fā)訪問,對于延遲不敏感,數(shù)據(jù)分布

8、與復(fù)制,數(shù)據(jù)塊:文件被劃分為固定大小的數(shù)據(jù)塊進行存儲 數(shù)據(jù)塊缺省為64M,遠大于一般文件系統(tǒng)數(shù)據(jù)塊大小 減少元數(shù)據(jù)的量 有利于順序讀寫(在磁盤上順序存放) 可靠性:數(shù)據(jù)通過副本的方式保存在多個數(shù)據(jù)節(jié)點上 默認3個副本 副本選擇會考慮機架信息以防止整個機架同時掉電 系統(tǒng)設(shè)計優(yōu)化:用單個管理節(jié)點來保存文件系統(tǒng)元數(shù)據(jù)和管理/協(xié)調(diào) 數(shù)據(jù)緩存:DataNode沒有數(shù)據(jù)緩存 由于文件的訪問是掃描式的,不具有局部性 訪問方式 讀、寫、文件改名、刪除等 文件內(nèi)容不允許覆蓋更新 提供一個特殊的訪問接口:追加append,HDFS基本設(shè)計,HDFS體系結(jié)構(gòu),中心目錄服務(wù)器 (NameNode) 管理大量數(shù)據(jù)服務(wù)器

9、(DataNode) NameNode 管理元數(shù)據(jù) (文件目錄樹, 文件-塊映射,塊-數(shù)據(jù)服務(wù)器映射表, etc.) DataNode 負責(zé)存儲數(shù)據(jù)、以及響應(yīng)數(shù)據(jù)讀寫請求 客戶端與NameNode交互進行文件創(chuàng)建/刪除/尋址等操作, 之后直接與DataNodes交互進行文件I/O,HDFS寫文件流程,HDFS讀文件流程,什么是MapReduce編程模型?,Map(映射):對一些獨立元素組成的 列表的每一個元素進行指定的操作,可 以高度并行。 Reduce(化簡):對一個列表的元素進行合并。 一個簡單的MapReduce程序只需要指定map()、reduce()、輸入和輸出,剩下的事由框架幫你搞

10、定。,MapReduce計算框架,為離線數(shù)據(jù)分析而設(shè)計,基本上是個利用數(shù)據(jù)并行性進行分布運算而后匯總結(jié)果的計算框架 分析問題能夠被并行化,且輸入數(shù)據(jù)集可以被切分 一個Map函數(shù),在第一階段計算對 一個Reduce函數(shù),在第二階段用于匯總Map函數(shù)的結(jié)果,MapReduce運行機制,MapReduce原理,MapReduce實例分析,主要內(nèi)容,Hadoop介紹,1,Hadoop原理,2,Hadoop YARN產(chǎn)生的背景,3,4,Hadoop YARN基本架構(gòu),5,運行在YARN上的基本框架,6,YARN 發(fā)展趨勢,Hadoop YARN產(chǎn)生背景, 直接源于MRv1在幾個方面的缺陷 擴展性受限 單

11、點故障 難以支持MR之外的計算 多計算框架各自為戰(zhàn),數(shù)據(jù)共享困難 MR:離線計算框架 Storm:實時計算框架 Spark:內(nèi)存計算框架,Hadoop 1.0和2.0,Hadoop 2.0由HDFS、MapReduce和YARN三個分支構(gòu)成; HDFS:NN Federation、HA; MapReduce:運行在YARN上的MR; YARN:資源管理系統(tǒng),主要內(nèi)容,Hadoop介紹,1,Hadoop原理,2,Hadoop YARN產(chǎn)生的背景,3,4,Hadoop YARN基本架構(gòu),5,運行在YARN上的基本框架,6,YARN 發(fā)展趨勢,Hadoop YARN基本架構(gòu),Hadoop YARN各

12、模塊組成,ResourceManager 處理客戶端請求 啟動/監(jiān)控ApplicationMaster 監(jiān)控NodeManager 資源分配與調(diào)度 NodeManager 單個節(jié)點上的資源管理 處理來自ResourceManager的命令 處理來自ApplicationMaster的命令 ApplicationMaster 數(shù)據(jù)切分 為應(yīng)用程序申請資源,并分配給內(nèi)部任務(wù) 任務(wù)監(jiān)控與容錯,Hadoop YARN運行流程分析,Node Manager,Node Manager,Node Manager,Resource Manager,Application Master,Client,Clien

13、t,Client,Task,Container,Container,Task,Task,Container,Hadoop YARN容錯,ResourceManager 基于ZooKeeper實現(xiàn)HA。 NodeManager 失敗后,RM將失敗任務(wù)告訴對應(yīng)的AM; AM決定如何處理失敗的任務(wù)。 ApplicationMaster 失敗后,由RM負責(zé)重啟; AM需處理內(nèi)部任務(wù)的容錯問題; RMAppMaster會保存已經(jīng)運行完成的Task,重啟后無需重新運 行。,Hadoop YARN調(diào)度框架, 雙層調(diào)度框架 RM將資源分配給AM AM將資源進一步分配給各個Task 基于資源預(yù)留的調(diào)度策略 資源

14、不夠時,會為Task預(yù)留,直到資源充足 與“all or nothing”策略不同(Apache Mesos),Hadoop YARN資源調(diào)度器, 多類型資源調(diào)度 采用DRF算法(論文:“Dominant Resource Fairness: Fair Allocation of Multiple Resource Types”) 目前支持CPU和內(nèi)存兩種資源 提供多種資源調(diào)度器 FIFO Fair Scheduler Capacity Scheduler 多租戶資源調(diào)度器 支持資源按比例分配 支持層級隊列劃分方式 支持資源搶占,Hadoop YARN資源隔離方案, 支持內(nèi)存和CPU兩種資源隔

15、離 內(nèi)存是一種“決定生死”的資源 CPU是一種“影響快慢”的資源 內(nèi)存隔離 基于線程監(jiān)控的方案 基于Cgroups的方案 CPU隔離 默認不對CPU資源進行隔離 基于Cgroups的方案,Hadoop YARN資源調(diào)度語義, 支持的語義 請求某個特定節(jié)點/機架上的特定資源量 將某些節(jié)點加入(或移除)黑名單,不再為自己分配這些節(jié)點上 的資源 請求歸還某些資源 不支持的語義 請求任意節(jié)點/機架上的特定資源量 請求一組或幾組符合某種特質(zhì)的資源 超細粒度資源 動態(tài)調(diào)整Container資源,主要內(nèi)容,Hadoop介紹,1,Hadoop原理,2,Hadoop YARN產(chǎn)生的背景,3,4,Hadoop Y

16、ARN基本架構(gòu),5,運行在YARN上的基本框架,6,YARN 發(fā)展趨勢,應(yīng)用程序的運行模型,Map,input,output,Map,input,Reduce,output,Stage 1,input,output,Stage 2,Stage 3,Stage 4,Stage 1,input,output,Stage 2,Stage 3,Stage N,YARN應(yīng)用程序類型, 長應(yīng)用程序和短應(yīng)用程序 長應(yīng)用程序 Service、HTTP Server等 短應(yīng)用程序 MR job、Spark Job等,以YARN為核心的生態(tài)系統(tǒng),運行在YARN上的計算框架,離線計算框架:MapReduce DAG

17、計算框架:Tez 流式計算框架:Storm 內(nèi)存計算框架:Spark 圖計算框架:Giraph、GraphLib,離線計算框架MapReduce, 將計算過程分為兩個階段,Map和Reduce Map 階段并行處理輸入數(shù)據(jù) Reduce階段對Map結(jié)果進行匯總 Shuffle連接Map和Reduce兩個階段 Map Task將數(shù)據(jù)寫到本地磁盤 Reduce Task從每個Map Task上讀取一份數(shù)據(jù) 僅適合離線批處理 具有很好的容錯性和擴展性 適合簡單的批處理任務(wù) 缺點明顯 啟動開銷大、過多使用磁盤導(dǎo)致效率低下等,MapReduce On YARN,2 5 MR App Mstr,Node

18、Manager,Map Task,Node Manager 6 6,Reduce Task,Client,1,Container,2,4,5,Map Task 7,7,7,Container,Container,Container,ResourceManager,3,8,6,DAG計算框架Tez, 多個作業(yè)之間存在數(shù)據(jù)依賴關(guān)系,并形成一個依賴關(guān)系有 向圖( Directed Acyclic Graph ),該圖的計算稱為 “DAG計算” Apache Tez:基于YARN的DAG計算框架 運行在YARN之上,充分利用YARN的資源管理和容錯等功能; 提供了豐富的數(shù)據(jù)流(dataflow)API

19、; 擴展性良好的“Input-Processor-Output”運行時模型; 動態(tài)生成物理數(shù)據(jù)流關(guān)系。,Phase 1,Phase 2,Phase 3,Phase 4,Phase 5,Map,Reduce,Map,Reduce,Reduce,DAG計算框架Tez,HDFS,Map1,Reduce1,HDFS,HDFS,Map2,Reduce2,HDFS,WordCount,Top K,HDFS,Map1,Reduce12,HDFS,WordCount+Top K,Reduce2,Job1,Job2,DAG Job,Using Tez,Job1,Job2,Job4,Single Job,Usin

20、g,Tez On YARN,DAG App Mstr,Node,Manager 2 5,Vertex-A Task,Node Manager,Vertex-A Task,Client,1,Container,2,4,5,Vertex-A Task,7,7,7,Container,Container,Container,ResourceManager,3,8,6,6,Tez優(yōu)化技術(shù),ApplicationMaster緩沖池 作業(yè)提交到AMPoolServer服務(wù)上 預(yù)啟動若干個ApplicationMaster,形成一個 ApplicationMaster緩沖池 預(yù)先啟動Container Ap

21、plicationMaster啟動時可以預(yù)先啟動若干個Container Container重用 任務(wù)運行完成后,ApplicationMaster不會馬上注銷它使 用的Container,而是將它重新分配給其他未運行的任務(wù),Tez應(yīng)用場景, 直接編寫應(yīng)用程序 Tez提供了一套通用編程接口 適合編寫有依賴關(guān)系的作業(yè) 優(yōu)化Pig、Hive等引擎 下一代Hive:Stinger 好處1:避免查詢語句轉(zhuǎn)換成過多的MapReduce作業(yè)后 產(chǎn)生大量不必要的網(wǎng)絡(luò)和磁盤IO 好處2:更加智能的任務(wù)處理引擎,流式計算Storm, 流式(Streaming)計算,是指被處理的數(shù)據(jù) 像流水一樣不斷流入系統(tǒng),而系

22、統(tǒng)需要針對每條 數(shù)據(jù)進行實時處理和計算,并永不停止(直到用 戶顯式殺死進程); 傳統(tǒng)做法:,由消息隊列和消息處理者組成的實時 行實時計算; 化 性 現(xiàn)。,處理網(wǎng)絡(luò)進 缺乏自動 缺乏健壯 伸縮性差 Storm出,引自:2013中國大數(shù)據(jù)技術(shù)大會 肖康:“Storm在實時網(wǎng)絡(luò)攻擊檢測和分析的應(yīng)用與改進”, PPT:,流式計算框架Storm,Nimbus,Supervisor,Zookeeper,Executor,Executor,Worker,Executor,Executor,Worker,Spout Tasks, topology 1,Blot-A Tasks, topology1,Super

23、visor,Executor,Executor,Worker,Executor,Executor,Worker,Supervisor,Executor,Executor,Worker,Executor,Executor,Worker,Spout Tasks, topology 1,Blot-B Tasks, topology1,Spout Tasks, topology 2,Blot-1 Tasks, topology 2,Blot-C Tasks, topology1,Blot-B Tasks, topology1,Blot-2 Tasks, topology 2,Blot-1 Tasks,

24、 topology 2,Blot-2 Tasks, topology 2,Blot-2 Tasks, topology 2,流式計算框架Storm,Task,Task,Task,Task,Task,Task,Task,Task,Task,Spout,Blot-A,Blot-B,Blot-C,Stream Grouping,Stream Grouping,Topology,Storm On YARN,Resource Manager,Node Manager,Node Manager,Storm Supervisior,Node Manager,YARN-Storm Client,YARN-MP

25、I Client,YARN-MapReducee Client,Storm Submission,Resource Request,Storm Application Master ,Storm Supervisior,Zookeeper,Node Manager,MR App,Mstr,Container,Map Task,Container,Storm Client,Storm Client,內(nèi)存計算框架Spark, 克服MapReduce在迭代式計算和交互式計算方 面的不足; 引入RDD(Resilient Distributed Datasets)數(shù)據(jù)表示模型;,RDD是 集合,,一個

26、有容錯機制,可以被并 能夠被緩存到內(nèi)存或磁盤上,行操作的數(shù)據(jù) 。,引自: “基于Spark on Yarn的淘寶數(shù)據(jù)挖掘平臺”, PPT:,內(nèi)存計算框架Spark,Spark On YARN,Resource Manager,Node Manager,Node Manager,StandaloneExecutorBackendd,Node Manager,YARN-Spark Client,YARN-MPI Client,YARN-MapReducee Client,Spark Submission,Resource Request,Cluster,Scheduler,Spark Application Master,StandaloneExecutorBackend,Node Manager,MR App Mstr,Container,Map Task,Container,Web UI,Spark生態(tài)系統(tǒng),主要內(nèi)容,Hadoop介紹,1,Hadoop原理,2,Hadoop YARN產(chǎn)生的背景,3,4,Hadoop YARN基本架構(gòu),5,運行在YARN上的基

溫馨提示

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

評論

0/150

提交評論