




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Hadoop分布式系統(tǒng)基礎架構Hadoop系統(tǒng)簡介Hadoop是一個大數(shù)據分布式系統(tǒng)基礎架構,是公認的大數(shù)據通用存儲和分析平臺。它實現(xiàn)了分布式文件系統(tǒng)HDFS(HadoopDistributedFileSystem)、分布式運行程序編程框架MapReduce及資源管理系統(tǒng)YARN(YetAnotherResourceNegotiator),其中,HDFS和MapReduce是Hadoop最核心的設計部分。Hadoop生態(tài)系統(tǒng)狹義上的Hadoop指的是由HDFS、MapReduce、YARN組成的集數(shù)據存儲、計算和資源管理調度于一體的大數(shù)據框架。廣義上的Hadoop指的是以Hadoop為核心,包括HBase、Hive、Flume、Sqoop、Azkaban等底層使用MapReduce進行計算的大數(shù)據分布式系統(tǒng)基礎架構。Hadoop版本Hadoop版本分為三代:第一代Hadoop被稱為Hadoop1.0,第二代Hadoop被稱為Hadoop2.0,第三代Hadoop被稱為Hadoop3.X。Hadoop1.0技術架構Hadoop1.0技術架構Hadoop2.0Hadoop1.0和Hadoop2.0從HDFS和MapReduce兩個角度比較1)HDFS角度(1)Hadoop2.0新增了HDFSHA(高可用)機制,HA增加了StandbyNameNode作為熱備份,它們通過一個共享的存儲結構QJM(QuorumJournalManager)實現(xiàn)數(shù)據同步,解決了Hadoop1.0的單點故障問題。(2)Hadoop2.0新增了HDFSFederation(聯(lián)邦模式),解決了HDFS水平可擴展能力低的問題。Hadoop1.0和Hadoop2.02)MapReduce角度Hadoop2.0新增了YARN框架,使MapReduce的運行環(huán)境發(fā)生了變化。MapReduce2.0只是一個計算框架,具體資源調度全部交給YARN框架。Hadoop3.XHadoop3.0提供了更高的性能、更強的容錯能力及更高的數(shù)據處理能力。在可擴展性方面,Hadoop3.0為YARN提供了Federation,使其集群規(guī)??梢赃_到上萬臺。Hadoop3.0支持兩個以上的NameNode,支持單ActiveNameNode和多StandbyNameNode的部署方式,進一步提升了可用性。Hadoop3.XJava運行環(huán)境升級為1.8版本,HDFS使用擦除編碼機制來提供容錯能力。Hadoop3.0新增了YARN時間線服務,進行了MapReduce本地優(yōu)化,使性能提升了30%。HDFS概述分布式文件系統(tǒng)隨著互聯(lián)網應用的普及,電商網站、音視頻網站等進入了大規(guī)模數(shù)據應用領域,采用單機模式已經無法滿足實際需求。為了解決單機模式存在的問題,Google開發(fā)了分布式文件系統(tǒng)GFS,該文件系統(tǒng)的服務端通過一個集群來實現(xiàn),客戶端可以并發(fā)地訪問該集群的數(shù)萬個節(jié)點,承載能力得到極大的提升。分布式文件系統(tǒng)當數(shù)據集的大小超過一臺獨立物理計算機的存儲能力時,就有必要對它進行分區(qū)并存儲到若干臺單獨的計算機上。管理網絡中跨多臺計算機存儲的文件系統(tǒng)就被稱為分布式文件系統(tǒng)。HDFS簡介HDFS是一種允許文件通過網絡在多臺主機上分享的文件系統(tǒng),可以讓多臺機器上的多個用戶分享文件和存儲空間。HDFS允許運行在大量普通的機器上,提供容錯機制,是一種易于擴展的分布式文件系統(tǒng),為大量用戶提供性能較好的文件存取服務。HDFS的優(yōu)點(1)高容錯性,會自動保存多個副本,默認保存3個副本,可根據需要進行設置,且副本丟失后,會自動恢復。(2)適合批處理,移動計算而非移動數(shù)據,將數(shù)據位置暴露給計算框架,將數(shù)據切分為BlockList,并將BlockList存放在NodeList中。NameNode中保存HDFS的兩個維度的映射。(3)適合大數(shù)據處理,支持GB、TB甚至PB級數(shù)據,百萬規(guī)模以上的文件數(shù)量,10KB+節(jié)點規(guī)模。(4)流文件訪問:一次性寫入,多次讀取,保證數(shù)據一致性。(5)可構建在普通機器上:通過多副本提高可靠性,提供了容錯和恢復機制。HDFS架構Hadoop2.0之后提出了HA(HighAvailability高可用性)的概念??梢圆捎肏A的HDFS集群配置兩個NameNode,使其分別處于Active和Standby狀態(tài)。HDFS讀寫文件流程HDFS寫文件流程HDFS寫文件流程當客戶端需要寫入數(shù)據時,先在NameNode上創(chuàng)建文件結構并確定將數(shù)據塊副本寫入到哪幾個DataNode中,然后將多個待寫DataNode組成一個寫數(shù)據管道,保證寫入過程完整、統(tǒng)一。HDFS讀寫文件流程當客戶端需要讀取數(shù)據時,先通過NameNode找到存儲數(shù)據塊副本的所有DataNode,根據與讀取的客戶端的距離(就近原則,本地→同機架→同交換機→同機房)排序數(shù)據塊,然后選擇距離最近的DataNode來讀取數(shù)據。HDFS讀寫文件流程HDFS讀文件流程HDFS的Block副本放置策略(1)第一個Block副本放置在客戶端節(jié)點所在機架的DataNode里(如果客戶端不在集群范圍內,則會隨機選擇一個節(jié)點,但系統(tǒng)會盡量避開過滿或過載的節(jié)點。(2)第二個Block副本放置在與第一個DataNode節(jié)點相同的機架中的另一個DataNode中(隨機選擇)。(3)第三個Block副本放置在另一個隨機遠端機架的一個隨機DataNode中。如果需要更多的副本,則隨機放置在集群的節(jié)點中。這種策略旨在實現(xiàn)數(shù)據冗余和故障恢復,確保數(shù)據的安全性和可靠性。HDFS的Block副本放置策略HDFS的可靠性策略HDFS的可靠性策略是由多個機制共同維護的,有文件完整性、心跳檢測、元數(shù)據保護、副本冗余策略、主備NameNode實時切換、機架策略、安全模式、保護快照機制等。MapReduceMapReduceMapReduce是一個分布式運算程序的計算框架,其核心功能是將用戶編寫的業(yè)務邏輯代碼和自帶的默認組件整合成一個完整的分布式運算程序,從而并發(fā)運行在一個Hadoop集群上。MapReduce的基本思路是先對龐大的數(shù)據集進行劃分,將其分解成若干個小的數(shù)據集,再將每個(或多個)數(shù)據集交由集群中的某個普通計算節(jié)點運行,得到一個中間的輸出結果。之后,將這些中間的輸出結果根據一定的規(guī)則進行匯聚,歸并出最后的輸出結果到HDFS上。MapReduce架構MapReduce2.0采用了主從(MasterSlave)結構,ResourceManager(資源管理器)是Master,NodeManger(節(jié)點管理器)是Slave。ResourceManager分為Scheduler(調度器)和ApplicationsManager(應用程序管理器)。Scheduler負責作業(yè)的調度并將集群中的資源分配給應用,ApplicationManager負責接收任務。MapReduce2.0架構Container(容器)是YARN中資源的抽象,將操作系統(tǒng)中多維度的資源(如CPU、內存、網絡I/O和磁盤I/O等)封裝在一起,是YARN中資源的基本單位??蛻舳颂峤灰粋€作業(yè)(應用程序)到ResourceManager上,ResourceManager先與集群中的NodeManager通信,然后根據集群中NodeManger的資源使用情況,確定運行作業(yè)的NodeManager;MapReduce2.0架構MapReduce2.0架構確定了運行的節(jié)點后,作業(yè)馬上向ResourceManger申請資源,資源被封裝成Container的形式響應給應用,申請到資源后,ResourceManger馬上在NodeManger上啟動作業(yè)。所有任務運行完成后,ApplicationMaster向ResourceManager發(fā)出注銷指令,結束整個應用程序的運行。MapReduce的執(zhí)行流程MapReduce的執(zhí)行流程下面以一個基于MapReduce的WordCount例子的執(zhí)行流程來展示MapReduce的執(zhí)行流程MapReduce的shuffle機制MapReduce的shuffle機制Shuffle是MapReduce框架中Map階段與Reduce階段之間數(shù)據傳遞的關鍵流程,其每個處理步驟都在不同的MapTask和ReduceTask節(jié)點上分布式地進行。具體而言,它負責將MapTask輸出的結果數(shù)據發(fā)送給ReduceTask,并在這一過程中,根據Key對數(shù)據進行分區(qū)和排序。MapReduce的shuffle機制Shuffle的核心機制包括數(shù)據分區(qū)(Partition)、數(shù)據排序(Sort,根據Key進行排序)、數(shù)據緩存(Cache,使用緩存機制對數(shù)據進行局部合并)以及數(shù)據合并(Merge,經過緩存處理的數(shù)據最終需要進行合并)。YARN概述YARN簡介YARN(YetAnotherResourceNegotiator,另一種資源協(xié)調者)是一個通用資源管理系統(tǒng)和調度平臺,可以為上層應用提供統(tǒng)一的資源管理和調度,它的引入為集群在資源利用率、資源統(tǒng)一管理和數(shù)據共享等方面帶來了巨大的好處?;赮ARN的計算框架YARN與運行的用戶程序完全解耦,只提供運算資源的調度,即用戶程序向YARN申請資源,YARN負責分配資源。在YARN上,可以運行各種類型的分布式運算程序YARN的特點(1)資源管理與計算框架解耦設計,將一個集群資源共享給上層各個計算框架,并按需分配,大幅度提高資源利用率。(2)運維成本顯著下降,只需要運維一個集群,就可以同時運行滿足多種業(yè)務需求的計算框架。(3)集群內數(shù)據共享一致,數(shù)據不再需要在集群間復制轉移,達到共享互用的目的。(4)避免了單點故障集群資源擴展的問題。YARN的基本框架YARN的基本框架基本框架由一個ResourceManager與多個NodeManager組成,構成了一個新的通用系統(tǒng),實現(xiàn)了以分布式管理應用程序的系統(tǒng)。ResourceManager負責對全局資源進行統(tǒng)一的管理和調度。每個應用程序對應一個ApplicationMaster,YARN會為每個任務分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省章丘市2025年高三下第二次大考物理試題含解析
- 蘭州大學《供熱工程B》2023-2024學年第二學期期末試卷
- 吉林農業(yè)大學《中醫(yī)診斷學》2023-2024學年第二學期期末試卷
- 中國地質大學(武漢)《土木工程數(shù)值計算方法》2023-2024學年第一學期期末試卷
- 浙江省衢州市教聯(lián)盟體2024-2025學年初三2月命制英語試題含答案
- 中國音樂學院《大學數(shù)學(一)》2023-2024學年第一學期期末試卷
- 華北電力大學《幼兒心理與行為指導》2023-2024學年第二學期期末試卷
- 遼寧省盤錦市第二高級中學2025年高三年級第二學期調研考試物理試題試卷含解析
- 泉州輕工職業(yè)學院《國際公法》2023-2024學年第二學期期末試卷
- 日照市嵐山區(qū)2025屆小學六年級第二學期小升初數(shù)學試卷含解析
- 礦山托管經營合同范本
- 2024年高中英語衡水體書法練字字帖
- 浙教版八年級數(shù)學下冊基礎知識專項講練 專題2.20 一元二次方程的應用(鞏固篇)(專項練習)(附參考答案)
- 喚醒孩子的自驅力
- 傾聽他人聲音學會換位思考
- 2024年甘肅省農墾集團有限責任公司招聘筆試參考題庫含答案解析
- 如何預防病人拔尿管
- 《游園》(教案)-高中語文統(tǒng)編版必修下冊
- 正大天虹方矩管鍍鋅方矩管材質書
- 普通高中地理課程標準(2023年版)
- 血液透析并發(fā)癥護理查房課件
評論
0/150
提交評論