




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Hadoop體系架構(gòu)概述補(bǔ)充上比較完美的參考資料1
2Hadoop體系架構(gòu)HDFS簡介Map/Reduce模型分布式列式數(shù)據(jù)庫Hbase22024/5/10Hadoop概述
基于Apache基金會(huì)下的一個(gè)開源項(xiàng)目,致力于開發(fā)一個(gè)可靠的、大規(guī)模的分布式計(jì)算框架用戶可采用簡單的計(jì)算模型在計(jì)算機(jī)集群下對大規(guī)模的數(shù)據(jù)進(jìn)行分布式處理設(shè)計(jì)理念之一是擴(kuò)展單一的服務(wù)器為成千上萬機(jī)器的集群,且集群中每一個(gè)機(jī)器同時(shí)提供本地計(jì)算力和存儲(chǔ)力Hadoop框架是在應(yīng)用層檢測和處理硬件失效問題,而不是依賴于硬件自身來維持高可用性。在Hadoop框架集群中硬件失效被認(rèn)為是一種常態(tài),集群的高可用性服務(wù)是建立在整個(gè)集群之上的
32024/5/10
分布式文件系統(tǒng)(HadoopDistributedFileSystem,HDFS)并行計(jì)算模型(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整體框架42024/5/10Hadoop整體框架下特點(diǎn)Hadoop主要在多節(jié)點(diǎn)集群環(huán)境下以數(shù)據(jù)存儲(chǔ)為基礎(chǔ)最大限度兼容結(jié)構(gòu)化數(shù)據(jù)格式以數(shù)據(jù)處理為目的且其數(shù)據(jù)操作技術(shù)多樣化52024/5/10Hadoop體系架構(gòu)
HDFS簡介Map/Reduce模型分布式列式數(shù)據(jù)庫Hbase62024/5/10HDFS概述-----基本特征基于商用硬件環(huán)境HDFS具有高容錯(cuò)性,并且被部署在廉價(jià)的硬件之上HDFS向應(yīng)用程序提供高的數(shù)據(jù)吞吐訪問,適合于需要處理大規(guī)模海量數(shù)據(jù)集的應(yīng)用HDFS遵循部分POSIX協(xié)議要求,可以確保應(yīng)用程序以流的方式訪問文件系統(tǒng)數(shù)據(jù)72024/5/10HDFS的對現(xiàn)實(shí)應(yīng)用環(huán)境的假設(shè)及其目標(biāo)硬件失效流式數(shù)據(jù)訪問海量數(shù)據(jù)集追加寫入及文件同步“移動(dòng)計(jì)算比移動(dòng)數(shù)據(jù)的代價(jià)小”跨異構(gòu)硬件和軟件平臺的可移植性82024/5/10HDFS架構(gòu)主從(Master/Slave)體系結(jié)構(gòu)只含有一個(gè)NameNode主服務(wù)節(jié)點(diǎn)這個(gè)節(jié)點(diǎn)管理文件系統(tǒng)中的命名空間和調(diào)度客服端對文件的訪問通常一個(gè)機(jī)器就是一個(gè)DataNode數(shù)據(jù)節(jié)點(diǎn),DataNode管理本節(jié)點(diǎn)上數(shù)據(jù)的存儲(chǔ)在HDFS內(nèi)部,一個(gè)文件被分割為一個(gè)或多個(gè)數(shù)據(jù)塊,并且這些數(shù)據(jù)塊被存儲(chǔ)在一批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)建、刪除和冗余存儲(chǔ)的指令ClientMetaDataopsWriteNameNodeMetaData(Name,replicas,…)ClientDataNodesDataNodesBlockopsReadBlockssReplicationNameNode同DataNode都是可以架設(shè)在普通商品機(jī)上,一個(gè)典型的HDFS集群中部署一個(gè)專用機(jī)做為NameNode,其余的機(jī)器部署為DataNode。雖然,這個(gè)體系結(jié)構(gòu)并不排除把一個(gè)機(jī)器做為多個(gè)DataNode節(jié)點(diǎn),但是這樣的情況在實(shí)際部署中很少發(fā)生。單NameNode結(jié)構(gòu)極大的簡化了集群的系統(tǒng)結(jié)構(gòu),NameNode主管并且存儲(chǔ)所有的HDFS的元數(shù)據(jù)(MetaData),系統(tǒng)中用戶數(shù)據(jù)絕不會(huì)流過NameNode節(jié)點(diǎn)。92024/5/10Hadoop體系架構(gòu)HDFS簡介Map/Reduce模型分布式列式數(shù)據(jù)庫Hbase102024/5/10Map/Reduce簡介一種用于在大型商用硬件集群中(成千上萬的節(jié)點(diǎn))對海量數(shù)據(jù)(多個(gè)兆兆字節(jié)數(shù)據(jù)集)實(shí)施可靠的、高容錯(cuò)的并行計(jì)算的軟件系統(tǒng)一個(gè)最先由Google提出的分布式計(jì)算軟件構(gòu)架基本原理
將一個(gè)復(fù)雜的問題,分成若干個(gè)簡單的子問題進(jìn)行解決。然后,對子問題的結(jié)果進(jìn)行合并,得到原有問題的解112024/5/10Map/Reduce概念"Map"和"Reduce"是編程語言中的概念,都是處理數(shù)據(jù)集合的函數(shù)Map在處理數(shù)據(jù)序列的過程中只處理當(dāng)前的數(shù)據(jù)信息,不需要跟之前處理的狀態(tài)信息交互主結(jié)點(diǎn)讀入輸入數(shù)據(jù),把它分成可以用相同方法解決的小數(shù)據(jù)塊,然后把這些小數(shù)據(jù)塊分發(fā)到不同的工作節(jié)點(diǎn)上,每一個(gè)工作節(jié)點(diǎn)循環(huán)做同樣的事,這就形成了一個(gè)樹行結(jié)構(gòu),而每一個(gè)葉子節(jié)點(diǎn)來處理每一個(gè)具體的小數(shù)據(jù)塊,再把這些處理結(jié)果返回給父節(jié)點(diǎn)Reduce在處理過程中卻依賴之前處理的結(jié)果,同時(shí)生成的結(jié)果也被后續(xù)的處理使用。結(jié)點(diǎn)得到所有子節(jié)點(diǎn)的處理結(jié)果,然后把所有結(jié)果組合并且返回到輸出一個(gè)Map/Reduce任務(wù)會(huì)把一個(gè)輸入數(shù)據(jù)集分割為獨(dú)立的數(shù)據(jù)塊,然后Map任務(wù)會(huì)以完全并行的方式處理這些數(shù)據(jù)塊。Map/Reduce系統(tǒng)自動(dòng)對Map任務(wù)的輸出分類,再把這些分類結(jié)果做為Reduce任務(wù)的輸入。無論是任務(wù)的輸入還是輸出都會(huì)被存儲(chǔ)在文件系統(tǒng)中。Map/Reduce系統(tǒng)關(guān)注任務(wù)調(diào)度、任務(wù)監(jiān)測和重新執(zhí)行失敗的任務(wù)122024/5/10Map/Reduce模型計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)的一致性。允許Hadoop框架有效的調(diào)度任務(wù)在那些數(shù)據(jù)已經(jīng)準(zhǔn)備好了的節(jié)點(diǎn)上,好處是整個(gè)集群中總帶寬非常的高特點(diǎn)是可以用Map和Reduce方法來處理分布式計(jì)算問題時(shí),盡可能的實(shí)現(xiàn)數(shù)據(jù)處理的本地化,降低由數(shù)據(jù)移動(dòng)而產(chǎn)生的代價(jià)。每一個(gè)Map操作都是相對獨(dú)立的,所有的Maps都是并行運(yùn)行的,雖然實(shí)踐中會(huì)受到數(shù)據(jù)源和CPU個(gè)數(shù)的影響。同樣的,用一個(gè)Reduce集合來執(zhí)行Reduce操作,所有帶有相同key的Map輸出會(huì)聚集到同一個(gè)Reduce。能夠處理一般服務(wù)器所不能處理的大數(shù)據(jù)量處理問題Map/Reduce系統(tǒng)由單一的JobTracker主節(jié)點(diǎn)和若干個(gè)TaskTracker從節(jié)點(diǎn)組成,其中每一個(gè)集群節(jié)點(diǎn)對應(yīng)一個(gè)TaskTracker節(jié)點(diǎn)。主節(jié)點(diǎn)負(fù)責(zé)調(diào)度任務(wù)的各個(gè)組成任務(wù)到從節(jié)點(diǎn)上,監(jiān)控并且重新執(zhí)行失敗的組成任務(wù);從節(jié)點(diǎn)執(zhí)行主節(jié)點(diǎn)安排的組成任務(wù)Map/Reduce的Map和Reduce過程都定義了鍵值對(<key,value>)的數(shù)據(jù)結(jié)構(gòu),即系統(tǒng)視任務(wù)的輸入數(shù)據(jù)為鍵值對集合,并且產(chǎn)生鍵值對結(jié)合做為任務(wù)的輸出。一次任務(wù)的輸入輸出格式:(input)<k1,v1>->map-><k2,v2>->combine-><k2,v2>->reduce-><k3,v3>(output)132024/5/10一次Map/Reduce任務(wù)過程。用戶提交任務(wù)給JobTracer,JobTracer把對應(yīng)的用戶程序中的Map操作和Reduce操作映射至TaskTracer節(jié)點(diǎn)中;輸入模塊負(fù)責(zé)把輸入數(shù)據(jù)分成小數(shù)據(jù)塊,然后把它們傳給Map節(jié)點(diǎn);Map節(jié)點(diǎn)得到每一個(gè)key/value對,處理后產(chǎn)生一個(gè)或多個(gè)key/value對,然后寫入文件;Reduce節(jié)點(diǎn)獲取臨時(shí)文件中的數(shù)據(jù),對帶有相同key的數(shù)據(jù)進(jìn)行迭代計(jì)算,然后把終結(jié)果寫入文件。6write5remotewrite4localwrite3readUserProgramTaskTracerTaskTracerTaskTracerTaskTracerTaskTracerChunk1Chunk2……Chunkn1fork1fork2assignmapOutputOutputInputfiles1fork2assignreduceJobTracerMapphaseIntermediatefiles(onlocaldisk)ReducephaseOutputfilesMap/Reduce處理過程142024/5/10Map/Reduce優(yōu)缺點(diǎn)Map/Reduce通過工作狀態(tài)的返回有效處理了單點(diǎn)失效的問題Map/Reduce是隸屬于大粒度的并行計(jì)算模式,并行節(jié)點(diǎn)間在Map階段中和Reduce階段中無法通信,也并非是一種萬能的數(shù)據(jù)處理模型152024/5/10Hadoop體系架構(gòu)HDFS簡介Map/Reduce模型分布式列式數(shù)據(jù)庫Hbase162024/5/10Hbase簡介可提供隨機(jī)的、實(shí)時(shí)的大數(shù)據(jù)讀寫訪問目標(biāo)是在商用硬件上存儲(chǔ)非常大的表——數(shù)十億的行數(shù)百萬的列開源的、分布式的、版本化的、面向列的存儲(chǔ)模型對Google公司Bigtable系統(tǒng)的開源模仿,建立在Hadoop和HDFS之上提供類Bigtable的存儲(chǔ)力172024/5/10Hbase數(shù)據(jù)模型按預(yù)先定義好的列族(Columnfamily)結(jié)構(gòu)來存儲(chǔ)數(shù)據(jù),即每一條數(shù)據(jù)有一個(gè)key以及若干個(gè)列屬性值組成,每列的數(shù)據(jù)都有自己的版本信息數(shù)據(jù)是按列進(jìn)行有序存儲(chǔ)的,不同于關(guān)系型數(shù)據(jù)庫中按行存儲(chǔ)兩種方式的數(shù)據(jù)操作,通過對有序key值進(jìn)行掃描查詢,獲取value值,或者借助強(qiáng)大的Hadoop來進(jìn)行Map/Reduce查詢采用了強(qiáng)一致性的讀寫保證,數(shù)據(jù)會(huì)在多個(gè)不同的域(region)中進(jìn)行保存。列族可以包含無限多個(gè)數(shù)據(jù)版本,每個(gè)版本可以有自己的TTL(TimetoLive,生命周期)通過行級鎖來保證寫操作的原子性,但是不支持多行寫操作的事務(wù)性。數(shù)據(jù)掃描操作不保證一致性182024/5/10HBase下表的邏輯視圖行鍵(Rowkey)時(shí)間戳(Timestamp)列族(Columnfamily)列(Column)
RowkeyTimestampColumnfamilyA……Columna…………keytn……………………t1value1……在創(chuàng)建一張表時(shí),必須定義行鍵名及所需列族的列族名,理論上一張表在創(chuàng)建時(shí)可以無限制地定義列族個(gè)數(shù),而時(shí)間戳?xí)上到y(tǒng)自動(dòng)生成。列無需在創(chuàng)建表時(shí)定義,可以在使用時(shí)隨意定義使用,一個(gè)列族下同樣可以無限制的定義列的個(gè)數(shù)。雖然,HBase中可以任意的定義列族個(gè)數(shù)及附屬列的個(gè)數(shù),但是只需能夠保證任意一列不為空時(shí),該行即為有效行。192024/5/10HBase下表的物理視圖在HBase中采用的稀疏存儲(chǔ),物理存儲(chǔ)過程中細(xì)化到一個(gè)單元(Cell)。在邏輯視圖中,任意一行不會(huì)空的每一列都被稱作為一個(gè)單元。單元聯(lián)同行鍵、時(shí)間戳、列族名、列名做為完整的一行存儲(chǔ)到文件系統(tǒng)中,并且這個(gè)存儲(chǔ)過程中會(huì)自動(dòng)排序,先在各行鍵間以字母升序排列,再在同行鍵間以時(shí)間戳降序排列。RowkeyTimestampColumnfamilyColumnValuekeytnColumnfamilyA………………keyt1ColumnfamilyAColumnavalue1202024/5/10表創(chuàng)建的初始階段其中只含有一個(gè)Region,隨著表中數(shù)據(jù)的量的不斷增多,一個(gè)Region會(huì)分裂為兩個(gè)Region,然后不斷重復(fù)上述過程,并且Region會(huì)被存儲(chǔ)到HDFS中不同的DataNode上。Region包含有一個(gè)或多個(gè)的Store,其數(shù)量增長過程同表中的Region數(shù)量增長過程一致Store中分為兩個(gè)部分:第一個(gè)部分是Memstore,一個(gè)Store中只包含一個(gè)Memstore,并且Memstore存儲(chǔ)在內(nèi)存空間中;第二個(gè)部分是Storefile,此部分由Memstore寫入硬盤而得。隨著Memstore寫入硬盤的次數(shù)增多,Storefile的數(shù)量也會(huì)增加,當(dāng)文件個(gè)數(shù)增加到一定量時(shí),系統(tǒng)會(huì)自動(dòng)對Storefile文件進(jìn)行合并。合并過程中主要完成以下幾個(gè)工作:1.具有相同行鍵的行存放在一個(gè)文件中;2.扔掉被標(biāo)志為刪除的行;3.扔掉時(shí)間戳過期的行,完成更新操作。隨著合并操作的頻繁執(zhí)行Storefile會(huì)變得很大,達(dá)到一定文件大小時(shí)自動(dòng)分裂文件,貼合HDFS中對一個(gè)塊數(shù)據(jù)大小的定義HBase的一張表中的多個(gè)列族(ColumnFamily),在物理存儲(chǔ)上一個(gè)列族對應(yīng)一個(gè)文件夾,一個(gè)文件夾中可包含若干個(gè)Hfile文件。Hfile是Storefile的底層文件格式,StoreFile就是對Hfile做了輕量級包裝MemstoreStorefileStorefile單一鍵值TableRegionStore包含零個(gè)或多個(gè)包含一個(gè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 升學(xué)宴爸爸發(fā)言稿
- 申論總結(jié)發(fā)言稿
- 家長會(huì)自理能力發(fā)言稿
- 探索成長之路
- 群眾工作交流發(fā)言稿
- 學(xué)期學(xué)習(xí)總結(jié)
- 小學(xué)拼音教學(xué)
- 宣傳部發(fā)言稿
- 提升英語 實(shí)現(xiàn)全球化
- 培訓(xùn)領(lǐng)導(dǎo)發(fā)言稿模板
- 110kV軟母線及引連線施工方案
- 鼓譜——海闊天空
- CT報(bào)告單模板
- 足球比賽計(jì)分表(共6頁)
- 軟件概要設(shè)計(jì)說明書范例(共21頁)
- 干式變壓器和低壓配電柜日常巡檢書
- 研究性學(xué)習(xí)成果一覽表
- 生產(chǎn)一致性控制計(jì)劃
- 鐵路勞動(dòng)安全培訓(xùn)鐵路安全培訓(xùn)知識專題PPT課件(帶內(nèi)容)
- 境外公共安全管理.ppt
- 貴人登天門吉時(shí)速查表(精編版)
評論
0/150
提交評論