版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Hadoop體系架構概述2021/8/231精品PPT模板Hadoop體系架構HDFS簡介Map/Reduce模型分布式列式數據庫Hbase2021/8/232精品PPT模板Hadoop概述
基于Apache基金會下的一個開源項目,致力于開發一個可靠的、大規模的分布式計算框架用戶可采用簡單的計算模型在計算機集群下對大規模的數據進行分布式處理設計理念之一是擴展單一的服務器為成千上萬機器的集群,且集群中每一個機器同時提供本地計算力和存儲力Hadoop框架是在應用層檢測和處理硬件失效問題,而不是依賴于硬件自身來維持高可用性。在Hadoop框架集群中硬件失效被認為是一種常態,集群的高可用性服務是建立在整個集群之上的
2021/8/233精品PPT模板
分布式文件系統(HadoopDistributedFileSystem,HDFS)并行計算模型(Map/Reduce)列式數據庫(HBase)數據倉庫(Hive)數據分析語言(Pig)數據格式轉化工具(Sqoop)協同工作系統(Zookeeper)數據序列化系統(Avro)HDFS(HadoopDistributedFileSystem)Map/Reduce(JobScheduling/ExecutionSystem)Hbase(ColumnDatabase)Pig(DataFlow)Hive(SQL)SqoopETLToolsBIReportingRDBMSAvroSerialization)Zookeeper(Coordination)Hadoop整體框架2021/8/234精品PPT模板Hadoop整體框架下特點Hadoop主要在多節點集群環境下以數據存儲為基礎最大限度兼容結構化數據格式以數據處理為目的且其數據操作技術多樣化2021/8/235精品PPT模板Hadoop體系架構
HDFS簡介Map/Reduce模型分布式列式數據庫Hbase2021/8/236精品PPT模板HDFS概述-----基本特征基于商用硬件環境HDFS具有高容錯性,并且被部署在廉價的硬件之上HDFS向應用程序提供高的數據吞吐訪問,適合于需要處理大規模海量數據集的應用HDFS遵循部分POSIX協議要求,可以確保應用程序以流的方式訪問文件系統數據2021/8/237精品PPT模板HDFS的對現實應用環境的假設及其目標硬件失效流式數據訪問海量數據集追加寫入及文件同步“移動計算比移動數據的代價小”跨異構硬件和軟件平臺的可移植性2021/8/238精品PPT模板1.硬件失效。在HDFS中,硬件失效是常態而不是意外。一個真實的HDFS環境可能由上百或上千的機器組成,每一個機器存儲文件系統中的部分數據。集群中大量的機器都有極高的可能性會發生硬件故障而失效,這一真實的情況表明HDFS集群中的部分機器總是處于非正常工作狀態。因此,檢測機器失效并快速自動恢復發生故障的機器是HDFS的核心架構目標。2.流式數據訪問。運行在HDFS之上的應用程序需要流式訪問其數據集,這與運行在常規文件系統上的通用應用程序不一樣。HDFS更適用于批量數據處理而不是用戶的交互性使用。HDFS的重點是強調數據的高吞吐訪問而不是數據的低延遲訪問。POSIX規定了很多的硬性要求,這些要求對運行在HDFS上的應用程序而言是非必須的。但是,HDFS在幾個關鍵領域引入了POSIX語義來提高數據的吞吐率。3.海量數據集。運行在HDFS上的應用是建立在海量數據集之上的。HDFS被設計來存儲大文件,通常HDFS中的文件大小應該是千兆字節到兆兆字節。HDFS必須具備有很高的總數據帶寬,其單一集群規模能夠容乃成千上萬的機器節點,并且一個HDFS集群能夠支撐數以萬計的文件量。4.追加寫入及文件同步。大多數的HDFS應用都需要“一次寫多次讀”的文件訪問模式。HDFS具有兩種高級特征:刷新緩存(hflush)和文件添加(append)。刷新緩存使得一個未關閉文件的最后一個塊對訪問者可見的同時提供了讀一致性和數據持久性。文件添加提供了在一個已關閉文件的末尾添加額外數據的機制。5.“移動計算比移動數據的代價小”。應用所需要的計算如果在數據的附近實施效率更高,這一特性在數據量特別龐大時會顯得更加明顯。數據處理的本地化會最大限度地減少網絡擁塞,并且提高系統整體的吞吐量。因此,在HDFS中假設移動計算至數據的存儲位置比移動數據至應用程序運行位置更好。為了實現這一假設,HDFS為應用提供了接口來移動應用自身到接近數據的儲存點。6.跨異構硬件和軟件平臺的可移植性。HDFS設計的目標之一是能夠簡單的從一個平臺移植到另一平臺。這便于大量的應用選擇HDFS作為一個平臺而廣泛使用。2021/8/239精品PPT模板HDFS架構主從(Master/Slave)體系結構只含有一個NameNode主服務節點這個節點管理文件系統中的命名空間和調度客服端對文件的訪問通常一個機器就是一個DataNode數據節點,DataNode管理本節點上數據的存儲在HDFS內部,一個文件被分割為一個或多個數據塊,并且這些數據塊被存儲在一批DataNode中。NameNode執行文件系統中命名空間的操作(打開、關閉、重命名文件和目錄),NameNode需要執行數據塊到DataNode映射的決策DataNode負責響應來自客戶端的文件讀寫要求,也要負責執行來自NameNode的關于數據塊創建、刪除和冗余存儲的指令ClientMetaDataopsWriteNameNodeMetaData(Name,replicas,…)ClientDataNodesDataNodesBlockopsReadBlockssReplicationNameNode同DataNode都是可以架設在普通商品機上,一個典型的HDFS集群中部署一個專用機做為NameNode,其余的機器部署為DataNode。雖然,這個體系結構并不排除把一個機器做為多個DataNode節點,但是這樣的情況在實際部署中很少發生。單NameNode結構極大的簡化了集群的系統結構,NameNode主管并且存儲所有的HDFS的元數據(MetaData),系統中用戶數據絕不會流過NameNode節點。2021/8/2310精品PPT模板Hadoop體系架構HDFS簡介Map/Reduce模型分布式列式數據庫Hbase2021/8/2311精品PPT模板Map/Reduce簡介一種用于在大型商用硬件集群中(成千上萬的節點)對海量數據(多個兆兆字節數據集)實施可靠的、高容錯的并行計算的軟件系統一個最先由Google提出的分布式計算軟件構架基本原理
將一個復雜的問題,分成若干個簡單的子問題進行解決。然后,對子問題的結果進行合并,得到原有問題的解2021/8/2312精品PPT模板Map/Reduce概念"Map"和"Reduce"是編程語言中的概念,都是處理數據集合的函數Map在處理數據序列的過程中只處理當前的數據信息,不需要跟之前處理的狀態信息交互主結點讀入輸入數據,把它分成可以用相同方法解決的小數據塊,然后把這些小數據塊分發到不同的工作節點上,每一個工作節點循環做同樣的事,這就形成了一個樹行結構,而每一個葉子節點來處理每一個具體的小數據塊,再把這些處理結果返回給父節點Reduce在處理過程中卻依賴之前處理的結果,同時生成的結果也被后續的處理使用。結點得到所有子節點的處理結果,然后把所有結果組合并且返回到輸出一個Map/Reduce任務會把一個輸入數據集分割為獨立的數據塊,然后Map任務會以完全并行的方式處理這些數據塊。Map/Reduce系統自動對Map任務的輸出分類,再把這些分類結果做為Reduce任務的輸入。無論是任務的輸入還是輸出都會被存儲在文件系統中。Map/Reduce系統關注任務調度、任務監測和重新執行失敗的任務2021/8/2313精品PPT模板Map/Reduce模型計算節點和存儲節點的一致性是因為Map/Reduce系統和HDFS運行在同樣的節點結合上。這樣的配置允許Hadoop框架有效的調度任務在那些數據已經準備好了的節點上,這樣的好處是整個集群中總帶寬非常的高。Map/Reduce的一個特點是可以用Map和Reduce方法來處理分布式計算問題時,盡可能的實現數據處理的本地化,降低由數據移動而產生的代價。這里的每一個Map操作都是相對獨立的,所有的Maps都是并行運行的,雖然實踐中會受到數據源和CPU個數的影響。同樣的,這里用一個Reduce集合來執行Reduce操作,所有帶有相同key的Map輸出會聚集到同一個Reduce。雖然這個過程看上去沒有串行計算來得高效,但是Map/Reduce能夠處理一般服務器所不能處理的大數據量處理問題。大型的服務器集群可以在幾個小時內處理千兆兆數據量的排序問題。而并行處理可以提供部分容錯和出錯恢復的功能。Map/Reduce系統由單一的JobTracker主節點和若干個TaskTracker從節點組成,其中每一個集群節點對應一個TaskTracker節點。主節點負責調度任務的各個組成任務到從節點上,監控并且重新執行失敗的組成任務;從節點執行主節點安排的組成任務。Map/Reduce的Map和Reduce過程都定義了鍵值對(<key,value>)的數據結構,即系統視任務的輸入數據為鍵值對集合,并且產生鍵值對結合做為任務的輸出。一次Map/Reduce任務的輸入輸出格式:(input)<k1,v1>->map-><k2,v2>->combine-><k2,v2>->reduce-><k3,v3>(output)。2021/8/2314精品PPT模板一次Map/Reduce任務過程。用戶提交任務給JobTracer,JobTracer把對應的用戶程序中的Map操作和Reduce操作映射至TaskTracer節點中;輸入模塊負責把輸入數據分成小數據塊,然后把它們傳給Map節點;Map節點得到每一個key/value對,處理后產生一個或多個key/value對,然后寫入文件;Reduce節點獲取臨時文件中的數據,對帶有相同key的數據進行迭代計算,然后把終結果寫入文件。6write5remotewrite4localwrite3readUserProgramTaskTracerTaskTracerTaskTracerTaskTracerTaskTracerChunk1Chunk2……Chunkn1fork1fork2assignmapOutputOutputInputfiles1fork2assignreduceJobTracerMapphaseIntermediatefiles(onlocaldisk)ReducephaseOutputfilesMap/Reduce處理過程2021/8/2315精品PPT模板Map/Reduce優缺點Map/Reduce通過工作狀態的返回有效處理了單點失效的問題Map/Reduce是隸屬于大粒度的并行計算模式,并行節點間在Map階段中和Reduce階段中無法通信,也并非是一種萬能的數據處理模型2021/8/2316精品PPT模板Hadoop體系架構HDFS簡介Map/Reduce模型分布式列式數據庫Hbase2021/8/2317精品PPT模板Hbase簡介可提供隨機的、實時的大數據讀寫訪問目標是在商用硬件上存儲非常大的表——數十億的行數百萬的列開源的、分布式的、版本化的、面向列的存儲模型對Google公司Bigtable系統的開源模仿,建立在Hadoop和HDFS之上提供類Bigtable的存儲力2021/8/2318精品PPT模板Hbase數據模型按預先定義好的列族(Columnfamily)結構來存儲數據,即每一條數據有一個key以及若干個列屬性值組成,每列的數據都有自己的版本信息數據是按列進行有序存儲的,不同于關系型數據庫中按行存儲兩種方式的數據操作,通過對有序key值進行掃描查詢,獲取value值,或者借助強大的Hadoop來進行Map/Reduce查詢采用了強一致性的讀寫保證,數據會在多個不同的域(region)中進行保存。列族可以包含無限多個數據版本,每個版本可以有自己的TTL(TimetoLive,生命周期)通過行級鎖來保證寫操作的原子性,但是不支持多行寫操作的事務性。數據掃描操作不保證一致性2021/8/2319精品PPT模板HBase下表的邏輯視圖行鍵(Rowkey)時間戳(Timestamp)列族(Columnfamily)列(Column)
RowkeyTimestampColumnfamilyA……Columna…………keytn……………………t1value1……在創建一張表時,必須定義行鍵名及所需列族的列族名,理論上一張表在創建時可以無限制地定義列族個數,而時間戳會由系統自動生成。列無需在創建表時定義,可以在使用時隨意定義使用,一個列族下同樣可以無限制的定義列的個數。雖然,HBase中可以任意的定義列族個數及附屬列的個數,但是只需能夠保證任意一列不為空時,該行即為有效行。2021/8/2320精品PPT模板HBase下表的物理視圖在HBase中采用的稀疏存儲,物理存儲過程中細化到一個單元(Cell)。在邏輯視圖中,任意一行不會空的每一列都被稱作為一個單元。單元聯同行鍵、時間戳、列族名、列名做為完整的一行存儲到文件系統中,并且這個存儲過程中會自動排序,先在各行鍵間以字母升序排列,再在同行鍵間以時間戳降序排列。RowkeyTimestampColumnfamilyColumnValuekeytnColumnfamilyA………………keyt1ColumnfamilyAColumnavalue12021/8/2321精品PPT模板一張表創建的初始階段其中只含有一個Region,隨著表中數據的量的不斷增多,一個Region會分裂為兩個Region,然后不斷重復上述過程,并且Region會被存儲到HDFS中不同的DataNode上。Region包含有一個或多個的Store,其數量增長過程同表中的Region數量增長過程一致。但是Store中分為兩個部分:第一個部分是Memstore,一個Store中只包含一個Memstore,并且Memstore存儲在內存空間中;第二個部分是Storefile,此部分由Memstore寫入硬盤而得。隨著Memstore寫入硬盤的次數增多,Storefile的數量也會增加,當文件個數增加到一定量時,系統會自動對Storefile文件進行合并。合并過程中主要完成以下幾個工作:1.具有相同行鍵的行存放在一個文件中;2.扔掉被標志為刪除的行;3.扔掉時間戳過期的行,完成更新操作。隨著合并操作的頻繁執行Storefile會變得很大,達到一定文件大小時自動分裂文件,貼合HDFS中對一個塊數據大小的定義。HBase的一張表中的多個列族(ColumnFamily),在物理存儲上一個列族對應一個文件夾,一個文件夾中可包含若干個Hfile文件。Hfile是圖(2-4)中Storefile的底層文件格式,StoreFile就是對Hfile做了輕量級包裝。MemstoreStorefileStorefile單一鍵值TableRegionStore包含零個或多個包含一個或多個包含一個或多個包含一個達到一定閾值時寫入硬盤文件個數達到一定閾值時合并文件大小達到一定閾值時分裂Hbase物理存儲過程2021/8/2322精品PPT模板
一個Hfile中包含有若干個數據塊(Datablock)和對應數量的元數據塊(Metablock)。數據塊中以鍵值對形式存放的用戶數據被稱之為記錄(Record),一條記錄保存一個鍵值對或者說保存一個單元的數據;元數據塊其主要作用是判斷一個鍵值是都在當前Hfile文件中;文件信息(FileInfo)中保存了與該HFile相關的一些信息,其中有系統保留的一些固定的值,也可以保存用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026 年護理查對制度執行質控監督實踐
- 2026年中毒性肝損傷護理研討
- 2026 年 1 例老年髖部骨折術后壓瘡預防護理個案
- 2026年內分泌科胰島素泵使用護理操作培訓
- 資料員考試題庫及答案全解析
- 公主嶺市2025年吉林長春公主嶺市事業單位專項招聘高校畢業生37人(7號)筆試歷年參考題庫典型考點附帶答案詳解
- 語文五下全冊【生字注音組詞】
- 2026年安全工程師考試模擬試題試卷及答案
- 2026最-新版鄉村醫生考試試題及答案
- 2026年廣西地生中考試卷及答案
- GB 44721-2026智能網聯汽車自動駕駛系統安全要求
- 2026山東青島廣電影視傳媒集團有限公司二次招聘24人筆試題庫【典型題】附答案詳解
- 2026年浙江中考(語文)真題帶答案
- 2026年醫師定期考核考試題庫及答案
- 2026年重慶市渝中區中考二模語文試卷
- 急性ST段抬高型心肌梗死診斷和治療指南(2019)解讀
- 2026-2030軌道鋼產業市場深度調研及發展趨勢與投資前景研究報告
- 養老護理記錄規范與書寫
- 2026光纖氧氣傳感在煤礦安全監測中的推廣應用報告
- 灼口湯治療灼口綜合征的臨床觀察與療效探究
- 兒童繪本故事《誰偷了我的餅》教學設計
評論
0/150
提交評論