(教學(xué)課件)Hadoop體系架構(gòu)概述備份_第1頁
(教學(xué)課件)Hadoop體系架構(gòu)概述備份_第2頁
(教學(xué)課件)Hadoop體系架構(gòu)概述備份_第3頁
(教學(xué)課件)Hadoop體系架構(gòu)概述備份_第4頁
(教學(xué)課件)Hadoop體系架構(gòu)概述備份_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Hadoop體系架構(gòu)概述2021/8/231精品PPT模板Hadoop體系架構(gòu)HDFS簡介Map/Reduce模型分布式列式數(shù)據(jù)庫Hbase2021/8/232精品PPT模板Hadoop概述

基于Apache基金會下的一個開源項目,致力于開發(fā)一個可靠的、大規(guī)模的分布式計算框架用戶可采用簡單的計算模型在計算機集群下對大規(guī)模的數(shù)據(jù)進行分布式處理設(shè)計理念之一是擴展單一的服務(wù)器為成千上萬機器的集群,且集群中每一個機器同時提供本地計算力和存儲力Hadoop框架是在應(yīng)用層檢測和處理硬件失效問題,而不是依賴于硬件自身來維持高可用性。在Hadoop框架集群中硬件失效被認(rèn)為是一種常態(tài),集群的高可用性服務(wù)是建立在整個集群之上的

2021/8/233精品PPT模板

分布式文件系統(tǒng)(HadoopDistributedFileSystem,HDFS)并行計算模型(Map/Reduce)列式數(shù)據(jù)庫(HBase)數(shù)據(jù)倉庫(Hive)數(shù)據(jù)分析語言(Pig)數(shù)據(jù)格式轉(zhuǎn)化工具(Sqoop)協(xié)同工作系統(tǒng)(Zookeeper)數(shù)據(jù)序列化系統(tǒng)(Avro)HDFS(HadoopDistributedFileSystem)Map/Reduce(JobScheduling/ExecutionSystem)Hbase(ColumnDatabase)Pig(DataFlow)Hive(SQL)SqoopETLToolsBIReportingRDBMSAvroSerialization)Zookeeper(Coordination)Hadoop整體框架2021/8/234精品PPT模板Hadoop整體框架下特點Hadoop主要在多節(jié)點集群環(huán)境下以數(shù)據(jù)存儲為基礎(chǔ)最大限度兼容結(jié)構(gòu)化數(shù)據(jù)格式以數(shù)據(jù)處理為目的且其數(shù)據(jù)操作技術(shù)多樣化2021/8/235精品PPT模板Hadoop體系架構(gòu)

HDFS簡介Map/Reduce模型分布式列式數(shù)據(jù)庫Hbase2021/8/236精品PPT模板HDFS概述-----基本特征基于商用硬件環(huán)境HDFS具有高容錯性,并且被部署在廉價的硬件之上HDFS向應(yīng)用程序提供高的數(shù)據(jù)吞吐訪問,適合于需要處理大規(guī)模海量數(shù)據(jù)集的應(yīng)用HDFS遵循部分POSIX協(xié)議要求,可以確保應(yīng)用程序以流的方式訪問文件系統(tǒng)數(shù)據(jù)2021/8/237精品PPT模板HDFS的對現(xiàn)實應(yīng)用環(huán)境的假設(shè)及其目標(biāo)硬件失效流式數(shù)據(jù)訪問海量數(shù)據(jù)集追加寫入及文件同步“移動計算比移動數(shù)據(jù)的代價小”跨異構(gòu)硬件和軟件平臺的可移植性2021/8/238精品PPT模板1.硬件失效。在HDFS中,硬件失效是常態(tài)而不是意外。一個真實的HDFS環(huán)境可能由上百或上千的機器組成,每一個機器存儲文件系統(tǒng)中的部分?jǐn)?shù)據(jù)。集群中大量的機器都有極高的可能性會發(fā)生硬件故障而失效,這一真實的情況表明HDFS集群中的部分機器總是處于非正常工作狀態(tài)。因此,檢測機器失效并快速自動恢復(fù)發(fā)生故障的機器是HDFS的核心架構(gòu)目標(biāo)。2.流式數(shù)據(jù)訪問。運行在HDFS之上的應(yīng)用程序需要流式訪問其數(shù)據(jù)集,這與運行在常規(guī)文件系統(tǒng)上的通用應(yīng)用程序不一樣。HDFS更適用于批量數(shù)據(jù)處理而不是用戶的交互性使用。HDFS的重點是強調(diào)數(shù)據(jù)的高吞吐訪問而不是數(shù)據(jù)的低延遲訪問。POSIX規(guī)定了很多的硬性要求,這些要求對運行在HDFS上的應(yīng)用程序而言是非必須的。但是,HDFS在幾個關(guān)鍵領(lǐng)域引入了POSIX語義來提高數(shù)據(jù)的吞吐率。3.海量數(shù)據(jù)集。運行在HDFS上的應(yīng)用是建立在海量數(shù)據(jù)集之上的。HDFS被設(shè)計來存儲大文件,通常HDFS中的文件大小應(yīng)該是千兆字節(jié)到兆兆字節(jié)。HDFS必須具備有很高的總數(shù)據(jù)帶寬,其單一集群規(guī)模能夠容乃成千上萬的機器節(jié)點,并且一個HDFS集群能夠支撐數(shù)以萬計的文件量。4.追加寫入及文件同步。大多數(shù)的HDFS應(yīng)用都需要“一次寫多次讀”的文件訪問模式。HDFS具有兩種高級特征:刷新緩存(hflush)和文件添加(append)。刷新緩存使得一個未關(guān)閉文件的最后一個塊對訪問者可見的同時提供了讀一致性和數(shù)據(jù)持久性。文件添加提供了在一個已關(guān)閉文件的末尾添加額外數(shù)據(jù)的機制。5.“移動計算比移動數(shù)據(jù)的代價小”。應(yīng)用所需要的計算如果在數(shù)據(jù)的附近實施效率更高,這一特性在數(shù)據(jù)量特別龐大時會顯得更加明顯。數(shù)據(jù)處理的本地化會最大限度地減少網(wǎng)絡(luò)擁塞,并且提高系統(tǒng)整體的吞吐量。因此,在HDFS中假設(shè)移動計算至數(shù)據(jù)的存儲位置比移動數(shù)據(jù)至應(yīng)用程序運行位置更好。為了實現(xiàn)這一假設(shè),HDFS為應(yīng)用提供了接口來移動應(yīng)用自身到接近數(shù)據(jù)的儲存點。6.跨異構(gòu)硬件和軟件平臺的可移植性。HDFS設(shè)計的目標(biāo)之一是能夠簡單的從一個平臺移植到另一平臺。這便于大量的應(yīng)用選擇HDFS作為一個平臺而廣泛使用。2021/8/239精品PPT模板HDFS架構(gòu)主從(Master/Slave)體系結(jié)構(gòu)只含有一個NameNode主服務(wù)節(jié)點這個節(jié)點管理文件系統(tǒng)中的命名空間和調(diào)度客服端對文件的訪問通常一個機器就是一個DataNode數(shù)據(jù)節(jié)點,DataNode管理本節(jié)點上數(shù)據(jù)的存儲在HDFS內(nèi)部,一個文件被分割為一個或多個數(shù)據(jù)塊,并且這些數(shù)據(jù)塊被存儲在一批DataNode中。NameNode執(zhí)行文件系統(tǒng)中命名空間的操作(打開、關(guān)閉、重命名文件和目錄),NameNode需要執(zhí)行數(shù)據(jù)塊到DataNode映射的決策DataNode負(fù)責(zé)響應(yīng)來自客戶端的文件讀寫要求,也要負(fù)責(zé)執(zhí)行來自NameNode的關(guān)于數(shù)據(jù)塊創(chuàng)建、刪除和冗余存儲的指令ClientMetaDataopsWriteNameNodeMetaData(Name,replicas,…)ClientDataNodesDataNodesBlockopsReadBlockssReplicationNameNode同DataNode都是可以架設(shè)在普通商品機上,一個典型的HDFS集群中部署一個專用機做為NameNode,其余的機器部署為DataNode。雖然,這個體系結(jié)構(gòu)并不排除把一個機器做為多個DataNode節(jié)點,但是這樣的情況在實際部署中很少發(fā)生。單NameNode結(jié)構(gòu)極大的簡化了集群的系統(tǒng)結(jié)構(gòu),NameNode主管并且存儲所有的HDFS的元數(shù)據(jù)(MetaData),系統(tǒng)中用戶數(shù)據(jù)絕不會流過NameNode節(jié)點。2021/8/2310精品PPT模板Hadoop體系架構(gòu)HDFS簡介Map/Reduce模型分布式列式數(shù)據(jù)庫Hbase2021/8/2311精品PPT模板Map/Reduce簡介一種用于在大型商用硬件集群中(成千上萬的節(jié)點)對海量數(shù)據(jù)(多個兆兆字節(jié)數(shù)據(jù)集)實施可靠的、高容錯的并行計算的軟件系統(tǒng)一個最先由Google提出的分布式計算軟件構(gòu)架基本原理

將一個復(fù)雜的問題,分成若干個簡單的子問題進行解決。然后,對子問題的結(jié)果進行合并,得到原有問題的解2021/8/2312精品PPT模板Map/Reduce概念"Map"和"Reduce"是編程語言中的概念,都是處理數(shù)據(jù)集合的函數(shù)Map在處理數(shù)據(jù)序列的過程中只處理當(dāng)前的數(shù)據(jù)信息,不需要跟之前處理的狀態(tài)信息交互主結(jié)點讀入輸入數(shù)據(jù),把它分成可以用相同方法解決的小數(shù)據(jù)塊,然后把這些小數(shù)據(jù)塊分發(fā)到不同的工作節(jié)點上,每一個工作節(jié)點循環(huán)做同樣的事,這就形成了一個樹行結(jié)構(gòu),而每一個葉子節(jié)點來處理每一個具體的小數(shù)據(jù)塊,再把這些處理結(jié)果返回給父節(jié)點Reduce在處理過程中卻依賴之前處理的結(jié)果,同時生成的結(jié)果也被后續(xù)的處理使用。結(jié)點得到所有子節(jié)點的處理結(jié)果,然后把所有結(jié)果組合并且返回到輸出一個Map/Reduce任務(wù)會把一個輸入數(shù)據(jù)集分割為獨立的數(shù)據(jù)塊,然后Map任務(wù)會以完全并行的方式處理這些數(shù)據(jù)塊。Map/Reduce系統(tǒng)自動對Map任務(wù)的輸出分類,再把這些分類結(jié)果做為Reduce任務(wù)的輸入。無論是任務(wù)的輸入還是輸出都會被存儲在文件系統(tǒng)中。Map/Reduce系統(tǒng)關(guān)注任務(wù)調(diào)度、任務(wù)監(jiān)測和重新執(zhí)行失敗的任務(wù)2021/8/2313精品PPT模板Map/Reduce模型計算節(jié)點和存儲節(jié)點的一致性是因為Map/Reduce系統(tǒng)和HDFS運行在同樣的節(jié)點結(jié)合上。這樣的配置允許Hadoop框架有效的調(diào)度任務(wù)在那些數(shù)據(jù)已經(jīng)準(zhǔn)備好了的節(jié)點上,這樣的好處是整個集群中總帶寬非常的高。Map/Reduce的一個特點是可以用Map和Reduce方法來處理分布式計算問題時,盡可能的實現(xiàn)數(shù)據(jù)處理的本地化,降低由數(shù)據(jù)移動而產(chǎn)生的代價。這里的每一個Map操作都是相對獨立的,所有的Maps都是并行運行的,雖然實踐中會受到數(shù)據(jù)源和CPU個數(shù)的影響。同樣的,這里用一個Reduce集合來執(zhí)行Reduce操作,所有帶有相同key的Map輸出會聚集到同一個Reduce。雖然這個過程看上去沒有串行計算來得高效,但是Map/Reduce能夠處理一般服務(wù)器所不能處理的大數(shù)據(jù)量處理問題。大型的服務(wù)器集群可以在幾個小時內(nèi)處理千兆兆數(shù)據(jù)量的排序問題。而并行處理可以提供部分容錯和出錯恢復(fù)的功能。Map/Reduce系統(tǒng)由單一的JobTracker主節(jié)點和若干個TaskTracker從節(jié)點組成,其中每一個集群節(jié)點對應(yīng)一個TaskTracker節(jié)點。主節(jié)點負(fù)責(zé)調(diào)度任務(wù)的各個組成任務(wù)到從節(jié)點上,監(jiān)控并且重新執(zhí)行失敗的組成任務(wù);從節(jié)點執(zhí)行主節(jié)點安排的組成任務(wù)。Map/Reduce的Map和Reduce過程都定義了鍵值對(<key,value>)的數(shù)據(jù)結(jié)構(gòu),即系統(tǒng)視任務(wù)的輸入數(shù)據(jù)為鍵值對集合,并且產(chǎn)生鍵值對結(jié)合做為任務(wù)的輸出。一次Map/Reduce任務(wù)的輸入輸出格式:(input)<k1,v1>->map-><k2,v2>->combine-><k2,v2>->reduce-><k3,v3>(output)。2021/8/2314精品PPT模板一次Map/Reduce任務(wù)過程。用戶提交任務(wù)給JobTracer,JobTracer把對應(yīng)的用戶程序中的Map操作和Reduce操作映射至TaskTracer節(jié)點中;輸入模塊負(fù)責(zé)把輸入數(shù)據(jù)分成小數(shù)據(jù)塊,然后把它們傳給Map節(jié)點;Map節(jié)點得到每一個key/value對,處理后產(chǎn)生一個或多個key/value對,然后寫入文件;Reduce節(jié)點獲取臨時文件中的數(shù)據(jù),對帶有相同key的數(shù)據(jù)進行迭代計算,然后把終結(jié)果寫入文件。6write5remotewrite4localwrite3readUserProgramTaskTracerTaskTracerTaskTracerTaskTracerTaskTracerChunk1Chunk2……Chunkn1fork1fork2assignmapOutputOutputInputfiles1fork2assignreduceJobTracerMapphaseIntermediatefiles(onlocaldisk)ReducephaseOutputfilesMap/Reduce處理過程2021/8/2315精品PPT模板Map/Reduce優(yōu)缺點Map/Reduce通過工作狀態(tài)的返回有效處理了單點失效的問題Map/Reduce是隸屬于大粒度的并行計算模式,并行節(jié)點間在Map階段中和Reduce階段中無法通信,也并非是一種萬能的數(shù)據(jù)處理模型2021/8/2316精品PPT模板Hadoop體系架構(gòu)HDFS簡介Map/Reduce模型分布式列式數(shù)據(jù)庫Hbase2021/8/2317精品PPT模板Hbase簡介可提供隨機的、實時的大數(shù)據(jù)讀寫訪問目標(biāo)是在商用硬件上存儲非常大的表——數(shù)十億的行數(shù)百萬的列開源的、分布式的、版本化的、面向列的存儲模型對Google公司Bigtable系統(tǒng)的開源模仿,建立在Hadoop和HDFS之上提供類Bigtable的存儲力2021/8/2318精品PPT模板Hbase數(shù)據(jù)模型按預(yù)先定義好的列族(Columnfamily)結(jié)構(gòu)來存儲數(shù)據(jù),即每一條數(shù)據(jù)有一個key以及若干個列屬性值組成,每列的數(shù)據(jù)都有自己的版本信息數(shù)據(jù)是按列進行有序存儲的,不同于關(guān)系型數(shù)據(jù)庫中按行存儲兩種方式的數(shù)據(jù)操作,通過對有序key值進行掃描查詢,獲取value值,或者借助強大的Hadoop來進行Map/Reduce查詢采用了強一致性的讀寫保證,數(shù)據(jù)會在多個不同的域(region)中進行保存。列族可以包含無限多個數(shù)據(jù)版本,每個版本可以有自己的TTL(TimetoLive,生命周期)通過行級鎖來保證寫操作的原子性,但是不支持多行寫操作的事務(wù)性。數(shù)據(jù)掃描操作不保證一致性2021/8/2319精品PPT模板HBase下表的邏輯視圖行鍵(Rowkey)時間戳(Timestamp)列族(Columnfamily)列(Column)

RowkeyTimestampColumnfamilyA……Columna…………keytn……………………t1value1……在創(chuàng)建一張表時,必須定義行鍵名及所需列族的列族名,理論上一張表在創(chuàng)建時可以無限制地定義列族個數(shù),而時間戳?xí)上到y(tǒng)自動生成。列無需在創(chuàng)建表時定義,可以在使用時隨意定義使用,一個列族下同樣可以無限制的定義列的個數(shù)。雖然,HBase中可以任意的定義列族個數(shù)及附屬列的個數(shù),但是只需能夠保證任意一列不為空時,該行即為有效行。2021/8/2320精品PPT模板HBase下表的物理視圖在HBase中采用的稀疏存儲,物理存儲過程中細化到一個單元(Cell)。在邏輯視圖中,任意一行不會空的每一列都被稱作為一個單元。單元聯(lián)同行鍵、時間戳、列族名、列名做為完整的一行存儲到文件系統(tǒng)中,并且這個存儲過程中會自動排序,先在各行鍵間以字母升序排列,再在同行鍵間以時間戳降序排列。RowkeyTimestampColumnfamilyColumnValuekeytnColumnfamilyA………………keyt1ColumnfamilyAColumnavalue12021/8/2321精品PPT模板一張表創(chuàng)建的初始階段其中只含有一個Region,隨著表中數(shù)據(jù)的量的不斷增多,一個Region會分裂為兩個Region,然后不斷重復(fù)上述過程,并且Region會被存儲到HDFS中不同的DataNode上。Region包含有一個或多個的Store,其數(shù)量增長過程同表中的Region數(shù)量增長過程一致。但是Store中分為兩個部分:第一個部分是Memstore,一個Store中只包含一個Memstore,并且Memstore存儲在內(nèi)存空間中;第二個部分是Storefile,此部分由Memstore寫入硬盤而得。隨著Memstore寫入硬盤的次數(shù)增多,Storefile的數(shù)量也會增加,當(dāng)文件個數(shù)增加到一定量時,系統(tǒng)會自動對Storefile文件進行合并。合并過程中主要完成以下幾個工作:1.具有相同行鍵的行存放在一個文件中;2.扔掉被標(biāo)志為刪除的行;3.扔掉時間戳過期的行,完成更新操作。隨著合并操作的頻繁執(zhí)行Storefile會變得很大,達到一定文件大小時自動分裂文件,貼合HDFS中對一個塊數(shù)據(jù)大小的定義。HBase的一張表中的多個列族(ColumnFamily),在物理存儲上一個列族對應(yīng)一個文件夾,一個文件夾中可包含若干個Hfile文件。Hfile是圖(2-4)中Storefile的底層文件格式,StoreFile就是對Hfile做了輕量級包裝。MemstoreStorefileStorefile單一鍵值TableRegionStore包含零個或多個包含一個或多個包含一個或多個包含一個達到一定閾值時寫入硬盤文件個數(shù)達到一定閾值時合并文件大小達到一定閾值時分裂Hbase物理存儲過程2021/8/2322精品PPT模板

一個Hfile中包含有若干個數(shù)據(jù)塊(Datablock)和對應(yīng)數(shù)量的元數(shù)據(jù)塊(Metablock)。數(shù)據(jù)塊中以鍵值對形式存放的用戶數(shù)據(jù)被稱之為記錄(Record),一條記錄保存一個鍵值對或者說保存一個單元的數(shù)據(jù);元數(shù)據(jù)塊其主要作用是判斷一個鍵值是都在當(dāng)前Hfile文件中;文件信息(FileInfo)中保存了與該HFile相關(guān)的一些信息,其中有系統(tǒng)保留的一些固定的值,也可以保存用

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論