版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Hadoop分布式系統(tǒng)基礎(chǔ)架構(gòu)Hadoop系統(tǒng)簡(jiǎn)介Hadoop是一個(gè)大數(shù)據(jù)分布式系統(tǒng)基礎(chǔ)架構(gòu),是公認(rèn)的大數(shù)據(jù)通用存儲(chǔ)和分析平臺(tái)。它實(shí)現(xiàn)了分布式文件系統(tǒng)HDFS(HadoopDistributedFileSystem)、分布式運(yùn)行程序編程框架MapReduce及資源管理系統(tǒng)YARN(YetAnotherResourceNegotiator),其中,HDFS和MapReduce是Hadoop最核心的設(shè)計(jì)部分。Hadoop生態(tài)系統(tǒng)狹義上的Hadoop指的是由HDFS、MapReduce、YARN組成的集數(shù)據(jù)存儲(chǔ)、計(jì)算和資源管理調(diào)度于一體的大數(shù)據(jù)框架。廣義上的Hadoop指的是以Hadoop為核心,包括HBase、Hive、Flume、Sqoop、Azkaban等底層使用MapReduce進(jìn)行計(jì)算的大數(shù)據(jù)分布式系統(tǒng)基礎(chǔ)架構(gòu)。Hadoop版本Hadoop版本分為三代:第一代Hadoop被稱(chēng)為Hadoop1.0,第二代Hadoop被稱(chēng)為Hadoop2.0,第三代Hadoop被稱(chēng)為Hadoop3.X。Hadoop1.0技術(shù)架構(gòu)Hadoop1.0技術(shù)架構(gòu)Hadoop2.0Hadoop1.0和Hadoop2.0從HDFS和MapReduce兩個(gè)角度比較1)HDFS角度(1)Hadoop2.0新增了HDFSHA(高可用)機(jī)制,HA增加了StandbyNameNode作為熱備份,它們通過(guò)一個(gè)共享的存儲(chǔ)結(jié)構(gòu)QJM(QuorumJournalManager)實(shí)現(xiàn)數(shù)據(jù)同步,解決了Hadoop1.0的單點(diǎn)故障問(wèn)題。(2)Hadoop2.0新增了HDFSFederation(聯(lián)邦模式),解決了HDFS水平可擴(kuò)展能力低的問(wèn)題。Hadoop1.0和Hadoop2.02)MapReduce角度Hadoop2.0新增了YARN框架,使MapReduce的運(yùn)行環(huán)境發(fā)生了變化。MapReduce2.0只是一個(gè)計(jì)算框架,具體資源調(diào)度全部交給YARN框架。Hadoop3.XHadoop3.0提供了更高的性能、更強(qiáng)的容錯(cuò)能力及更高的數(shù)據(jù)處理能力。在可擴(kuò)展性方面,Hadoop3.0為YARN提供了Federation,使其集群規(guī)??梢赃_(dá)到上萬(wàn)臺(tái)。Hadoop3.0支持兩個(gè)以上的NameNode,支持單ActiveNameNode和多StandbyNameNode的部署方式,進(jìn)一步提升了可用性。Hadoop3.XJava運(yùn)行環(huán)境升級(jí)為1.8版本,HDFS使用擦除編碼機(jī)制來(lái)提供容錯(cuò)能力。Hadoop3.0新增了YARN時(shí)間線服務(wù),進(jìn)行了MapReduce本地優(yōu)化,使性能提升了30%。HDFS概述分布式文件系統(tǒng)隨著互聯(lián)網(wǎng)應(yīng)用的普及,電商網(wǎng)站、音視頻網(wǎng)站等進(jìn)入了大規(guī)模數(shù)據(jù)應(yīng)用領(lǐng)域,采用單機(jī)模式已經(jīng)無(wú)法滿足實(shí)際需求。為了解決單機(jī)模式存在的問(wèn)題,Google開(kāi)發(fā)了分布式文件系統(tǒng)GFS,該文件系統(tǒng)的服務(wù)端通過(guò)一個(gè)集群來(lái)實(shí)現(xiàn),客戶端可以并發(fā)地訪問(wèn)該集群的數(shù)萬(wàn)個(gè)節(jié)點(diǎn),承載能力得到極大的提升。分布式文件系統(tǒng)當(dāng)數(shù)據(jù)集的大小超過(guò)一臺(tái)獨(dú)立物理計(jì)算機(jī)的存儲(chǔ)能力時(shí),就有必要對(duì)它進(jìn)行分區(qū)并存儲(chǔ)到若干臺(tái)單獨(dú)的計(jì)算機(jī)上。管理網(wǎng)絡(luò)中跨多臺(tái)計(jì)算機(jī)存儲(chǔ)的文件系統(tǒng)就被稱(chēng)為分布式文件系統(tǒng)。HDFS簡(jiǎn)介HDFS是一種允許文件通過(guò)網(wǎng)絡(luò)在多臺(tái)主機(jī)上分享的文件系統(tǒng),可以讓多臺(tái)機(jī)器上的多個(gè)用戶分享文件和存儲(chǔ)空間。HDFS允許運(yùn)行在大量普通的機(jī)器上,提供容錯(cuò)機(jī)制,是一種易于擴(kuò)展的分布式文件系統(tǒng),為大量用戶提供性能較好的文件存取服務(wù)。HDFS的優(yōu)點(diǎn)(1)高容錯(cuò)性,會(huì)自動(dòng)保存多個(gè)副本,默認(rèn)保存3個(gè)副本,可根據(jù)需要進(jìn)行設(shè)置,且副本丟失后,會(huì)自動(dòng)恢復(fù)。(2)適合批處理,移動(dòng)計(jì)算而非移動(dòng)數(shù)據(jù),將數(shù)據(jù)位置暴露給計(jì)算框架,將數(shù)據(jù)切分為BlockList,并將BlockList存放在NodeList中。NameNode中保存HDFS的兩個(gè)維度的映射。(3)適合大數(shù)據(jù)處理,支持GB、TB甚至PB級(jí)數(shù)據(jù),百萬(wàn)規(guī)模以上的文件數(shù)量,10KB+節(jié)點(diǎn)規(guī)模。(4)流文件訪問(wèn):一次性寫(xiě)入,多次讀取,保證數(shù)據(jù)一致性。(5)可構(gòu)建在普通機(jī)器上:通過(guò)多副本提高可靠性,提供了容錯(cuò)和恢復(fù)機(jī)制。HDFS架構(gòu)Hadoop2.0之后提出了HA(HighAvailability高可用性)的概念??梢圆捎肏A的HDFS集群配置兩個(gè)NameNode,使其分別處于Active和Standby狀態(tài)。HDFS讀寫(xiě)文件流程HDFS寫(xiě)文件流程HDFS寫(xiě)文件流程當(dāng)客戶端需要寫(xiě)入數(shù)據(jù)時(shí),先在NameNode上創(chuàng)建文件結(jié)構(gòu)并確定將數(shù)據(jù)塊副本寫(xiě)入到哪幾個(gè)DataNode中,然后將多個(gè)待寫(xiě)DataNode組成一個(gè)寫(xiě)數(shù)據(jù)管道,保證寫(xiě)入過(guò)程完整、統(tǒng)一。HDFS讀寫(xiě)文件流程當(dāng)客戶端需要讀取數(shù)據(jù)時(shí),先通過(guò)NameNode找到存儲(chǔ)數(shù)據(jù)塊副本的所有DataNode,根據(jù)與讀取的客戶端的距離(就近原則,本地→同機(jī)架→同交換機(jī)→同機(jī)房)排序數(shù)據(jù)塊,然后選擇距離最近的DataNode來(lái)讀取數(shù)據(jù)。HDFS讀寫(xiě)文件流程HDFS讀文件流程HDFS的Block副本放置策略(1)第一個(gè)Block副本放置在客戶端節(jié)點(diǎn)所在機(jī)架的DataNode里(如果客戶端不在集群范圍內(nèi),則會(huì)隨機(jī)選擇一個(gè)節(jié)點(diǎn),但系統(tǒng)會(huì)盡量避開(kāi)過(guò)滿或過(guò)載的節(jié)點(diǎn)。(2)第二個(gè)Block副本放置在與第一個(gè)DataNode節(jié)點(diǎn)相同的機(jī)架中的另一個(gè)DataNode中(隨機(jī)選擇)。(3)第三個(gè)Block副本放置在另一個(gè)隨機(jī)遠(yuǎn)端機(jī)架的一個(gè)隨機(jī)DataNode中。如果需要更多的副本,則隨機(jī)放置在集群的節(jié)點(diǎn)中。這種策略旨在實(shí)現(xiàn)數(shù)據(jù)冗余和故障恢復(fù),確保數(shù)據(jù)的安全性和可靠性。HDFS的Block副本放置策略HDFS的可靠性策略HDFS的可靠性策略是由多個(gè)機(jī)制共同維護(hù)的,有文件完整性、心跳檢測(cè)、元數(shù)據(jù)保護(hù)、副本冗余策略、主備N(xiāo)ameNode實(shí)時(shí)切換、機(jī)架策略、安全模式、保護(hù)快照機(jī)制等。MapReduceMapReduceMapReduce是一個(gè)分布式運(yùn)算程序的計(jì)算框架,其核心功能是將用戶編寫(xiě)的業(yè)務(wù)邏輯代碼和自帶的默認(rèn)組件整合成一個(gè)完整的分布式運(yùn)算程序,從而并發(fā)運(yùn)行在一個(gè)Hadoop集群上。MapReduce的基本思路是先對(duì)龐大的數(shù)據(jù)集進(jìn)行劃分,將其分解成若干個(gè)小的數(shù)據(jù)集,再將每個(gè)(或多個(gè))數(shù)據(jù)集交由集群中的某個(gè)普通計(jì)算節(jié)點(diǎn)運(yùn)行,得到一個(gè)中間的輸出結(jié)果。之后,將這些中間的輸出結(jié)果根據(jù)一定的規(guī)則進(jìn)行匯聚,歸并出最后的輸出結(jié)果到HDFS上。MapReduce架構(gòu)MapReduce2.0采用了主從(MasterSlave)結(jié)構(gòu),ResourceManager(資源管理器)是Master,NodeManger(節(jié)點(diǎn)管理器)是Slave。ResourceManager分為Scheduler(調(diào)度器)和ApplicationsManager(應(yīng)用程序管理器)。Scheduler負(fù)責(zé)作業(yè)的調(diào)度并將集群中的資源分配給應(yīng)用,ApplicationManager負(fù)責(zé)接收任務(wù)。MapReduce2.0架構(gòu)Container(容器)是YARN中資源的抽象,將操作系統(tǒng)中多維度的資源(如CPU、內(nèi)存、網(wǎng)絡(luò)I/O和磁盤(pán)I/O等)封裝在一起,是YARN中資源的基本單位??蛻舳颂峤灰粋€(gè)作業(yè)(應(yīng)用程序)到ResourceManager上,ResourceManager先與集群中的NodeManager通信,然后根據(jù)集群中NodeManger的資源使用情況,確定運(yùn)行作業(yè)的NodeManager;MapReduce2.0架構(gòu)MapReduce2.0架構(gòu)確定了運(yùn)行的節(jié)點(diǎn)后,作業(yè)馬上向ResourceManger申請(qǐng)資源,資源被封裝成Container的形式響應(yīng)給應(yīng)用,申請(qǐng)到資源后,ResourceManger馬上在NodeManger上啟動(dòng)作業(yè)。所有任務(wù)運(yùn)行完成后,ApplicationMaster向ResourceManager發(fā)出注銷(xiāo)指令,結(jié)束整個(gè)應(yīng)用程序的運(yùn)行。MapReduce的執(zhí)行流程MapReduce的執(zhí)行流程下面以一個(gè)基于MapReduce的WordCount例子的執(zhí)行流程來(lái)展示MapReduce的執(zhí)行流程MapReduce的shuffle機(jī)制MapReduce的shuffle機(jī)制Shuffle是MapReduce框架中Map階段與Reduce階段之間數(shù)據(jù)傳遞的關(guān)鍵流程,其每個(gè)處理步驟都在不同的MapTask和ReduceTask節(jié)點(diǎn)上分布式地進(jìn)行。具體而言,它負(fù)責(zé)將MapTask輸出的結(jié)果數(shù)據(jù)發(fā)送給ReduceTask,并在這一過(guò)程中,根據(jù)Key對(duì)數(shù)據(jù)進(jìn)行分區(qū)和排序。MapReduce的shuffle機(jī)制Shuffle的核心機(jī)制包括數(shù)據(jù)分區(qū)(Partition)、數(shù)據(jù)排序(Sort,根據(jù)Key進(jìn)行排序)、數(shù)據(jù)緩存(Cache,使用緩存機(jī)制對(duì)數(shù)據(jù)進(jìn)行局部合并)以及數(shù)據(jù)合并(Merge,經(jīng)過(guò)緩存處理的數(shù)據(jù)最終需要進(jìn)行合并)。YARN概述YARN簡(jiǎn)介YARN(YetAnotherResourceNegotiator,另一種資源協(xié)調(diào)者)是一個(gè)通用資源管理系統(tǒng)和調(diào)度平臺(tái),可以為上層應(yīng)用提供統(tǒng)一的資源管理和調(diào)度,它的引入為集群在資源利用率、資源統(tǒng)一管理和數(shù)據(jù)共享等方面帶來(lái)了巨大的好處?;赮ARN的計(jì)算框架YARN與運(yùn)行的用戶程序完全解耦,只提供運(yùn)算資源的調(diào)度,即用戶程序向YARN申請(qǐng)資源,YARN負(fù)責(zé)分配資源。在YARN上,可以運(yùn)行各種類(lèi)型的分布式運(yùn)算程序YARN的特點(diǎn)(1)資源管理與計(jì)算框架解耦設(shè)計(jì),將一個(gè)集群資源共享給上層各個(gè)計(jì)算框架,并按需分配,大幅度提高資源利用率。(2)運(yùn)維成本顯著下降,只需要運(yùn)維一個(gè)集群,就可以同時(shí)運(yùn)行滿足多種業(yè)務(wù)需求的計(jì)算框架。(3)集群內(nèi)數(shù)據(jù)共享一致,數(shù)據(jù)不再需要在集群間復(fù)制轉(zhuǎn)移,達(dá)到共享互用的目的。(4)避免了單點(diǎn)故障集群資源擴(kuò)展的問(wèn)題。YARN的基本框架YARN的基本框架基本框架由一個(gè)ResourceManager與多個(gè)NodeManager組成,構(gòu)成了一個(gè)新的通用系統(tǒng),實(shí)現(xiàn)了以分布式管理應(yīng)用程序的系統(tǒng)。ResourceManager負(fù)責(zé)對(duì)全局資源進(jìn)行統(tǒng)一的管理和調(diào)度。每個(gè)應(yīng)用程序?qū)?yīng)一個(gè)ApplicationMaster,YARN會(huì)為每個(gè)任務(wù)分
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 資金管理與優(yōu)化實(shí)踐總結(jié)
- 廣西河池市環(huán)江縣2022-2023學(xué)年六年級(jí)上學(xué)期英語(yǔ)期末試卷
- 《演講中的自我介紹》課件
- 2025年山西省、陜西省、寧夏、青海省八省聯(lián)考高考地理模擬試卷
- 2023年廣西壯族自治區(qū)柳州市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2024年山西省朔州市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 《全身麻醉》課件
- 機(jī)電部的口號(hào)和目標(biāo)
- 遼寧省本溪市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)統(tǒng)編版綜合練習(xí)((上下)學(xué)期)試卷及答案
- 《慢阻肺健康大課堂》課件
- 子長(zhǎng)市長(zhǎng)征文化運(yùn)動(dòng)公園項(xiàng)目社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估報(bào)告
- 浙教版七年級(jí)科學(xué)上冊(cè)期末綜合素質(zhì)檢測(cè)含答案
- 2024年北京市離婚協(xié)議書(shū)樣本
- 2019年海南省公務(wù)員考試申論真題(乙類(lèi))
- 北京郵電大學(xué)《操作系統(tǒng)》2022-2023學(xué)年期末試卷
- 2024-2025學(xué)年人教版高二上學(xué)期期末英語(yǔ)試題及解答參考
- 2023年稅收基礎(chǔ)知識(shí)考試試題庫(kù)和答案解析
- 熱氣球項(xiàng)目可行性實(shí)施報(bào)告
- 雙向進(jìn)入交叉任職制度
- 合成纖維的熔融紡絲工藝研究考核試卷
- 管道改造施工方案
評(píng)論
0/150
提交評(píng)論