數(shù)據(jù)分析平臺架構(gòu)及所用框架介紹5.hbase實現(xiàn)原理應(yīng)用_第1頁
數(shù)據(jù)分析平臺架構(gòu)及所用框架介紹5.hbase實現(xiàn)原理應(yīng)用_第2頁
數(shù)據(jù)分析平臺架構(gòu)及所用框架介紹5.hbase實現(xiàn)原理應(yīng)用_第3頁
數(shù)據(jù)分析平臺架構(gòu)及所用框架介紹5.hbase實現(xiàn)原理應(yīng)用_第4頁
數(shù)據(jù)分析平臺架構(gòu)及所用框架介紹5.hbase實現(xiàn)原理應(yīng)用_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、概概2.3HBase與RDBMS對 RegionServer上下線過4.HBase提供的接應(yīng)用示小參考資1. 1.1HBase1.21. 1.1HBase1.2HBase HBaseHadoopDatabase,是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),利用HBase 技術(shù)可在廉價PC Server 上搭建起大規(guī)模結(jié)構(gòu)化HBase是 Bigtable的開源實現(xiàn),類似 BigtableGFS 作為其文件存儲系統(tǒng),HBase利用HadoopHDFS作為其文件 系統(tǒng); MapReduce來處Bigtable中的海量數(shù)據(jù),HBase同樣利用HadoopMapReduce來處理HBase中

2、的海量數(shù)據(jù); Bigtable 利用 Chubby 作為協(xié)同服務(wù),HBase Zookeeper 作為對應(yīng)。上圖描述了 Hadoop EcoSystem 中的各層系統(tǒng),其中 HBase 位于結(jié)構(gòu)化Hadoop HDFS 為HBase 提供了高可靠性的底層提供了高性能的計算能力,Zookeeper 為HBase 提供了穩(wěn)定服務(wù)和failover 機制。此外, Pig 和Hive 還為HBase 提供了語言支持,使得在HBase 上進行數(shù)據(jù)統(tǒng)計處理變的非常簡單。 Sqoop 則為HBase 提供了方便的RDBMS 數(shù)據(jù)導入功能,使得傳統(tǒng)數(shù)據(jù)庫數(shù)據(jù) 的數(shù)據(jù)可直接通過Hadoop2.3HBaseRDB

3、MShadoop 一樣,Hbase 目標主要依靠橫向擴展,通過不斷增加廉價的 每個 cell 中的數(shù)據(jù)可以有多個版本,默認情況下版本號自動分配,是單元格 2HBase如上表所示,key1,key2,key3 是三條的唯一的 row key 值,columnFamily1、 2HBase如上表所示,key1,key2,key3 是三條的唯一的 row key 值,columnFamily1、 這個列族下包括兩列,名字是column1和column2,t1:value1,t2:value2是由rowkey1和 columnFamily1、column1唯一確定的一個單元cell。這個cell中有兩

4、個數(shù)據(jù),value1和 value2。兩個值的時間戳不一樣,分別是 t1、t2,HBase 會返回Rownosql數(shù)據(jù)庫們一樣,rowkey是用來檢索 的主鍵。 hbasetable中的行,只Row key (Row key)可以是任意字符串(64KB,實際應(yīng)用中長度一般10-100bytes)hbase ,row key 保存為字節(jié)數(shù)組。 時,數(shù)據(jù)按照Row key的字典序(byte order)排序 。設(shè)計 key 時,要充分排序 這個特性,將經(jīng)常一起的行 放到一起。(位置相關(guān)性 以RowKey+ColumnFamily+ColumnQualifier+Time來定位ValueRowkey

5、keykey ,字典序?qū)?行的一次讀寫是原子操作 courses ,字典序?qū)?行的一次讀寫是原子操作 coursesHBaserowcolumnscellcell一份數(shù)據(jù)的多個版本。版本通過時間戳來索引。時間戳的類型是 64hbase()cell(包括存貯和索引)負擔,hbase 由row key,column(=+), 唯一確定的單元。cell 中的數(shù)據(jù)3HBase3.1HBase下圖 3.1 是 HBase 系統(tǒng)架構(gòu)圖, 主要是由 nt、Zookeeper、HMaster ZookeeperQuorum ZookeeperQuorum中除了 了ROOTHMaster的地址,HRegionS

6、erver也會把自己 ZookeeperHMasterHRegionServer的健康狀態(tài)。此外,也可以使用 Zookeeper 解決 HMaster 的單點問題。 所有Region實 Election 機制保證總有一個 Master 運行,HMaster 在功能上主要負責Table Region 的管理類操作,C nt與HMasterRPC;對于數(shù)據(jù)讀寫類操作,C nt與HRegionServerRPC。3.2原 3.2原 中最 的模塊,具體組成請看下圖 3.2HRegionServer HRegion 對象,每個HRegion對應(yīng)了Table中的一個Region,HRegion中由多個HS

7、tore組成。每個 HStore對應(yīng)了Table中的一個ColumnFamily的 ,可以看出每個 ColumnFamily其實就是一個集中的 IO 特性的column放在一個Column Family管理HRegionServer的負載均衡,調(diào)整RegionRegionSplit后,負責新Region 來越多的HRegion來越多的HRegionHRegion 是HBase 中分布式和負載均衡的最小單元,如下圖 3.4 所示,不同 HRegion可以分布在不同的HRegionServer上,但一個HRegion不會拆分到多個Server3.4Region圖HRegion 雖然是分布式 的最小

8、單元,但不是 的最小單元。如下圖 3.5 所示,事實上,HRegionHStoreHStoreColumnFamily,StoreMemStoreStoreFile StoreFile HFile格式保存在 過一定閾值后,會觸發(fā)Split操作,同時把當前RegionSplit2個RegionRegion3.3HBase 在HadoopHDFSHFileHBase中KeyValue格式,HFileHadoopStoreFile3.3HBase 在HadoopHDFSHFileHBase中KeyValue格式,HFileHadoopStoreFileHFile做了輕量級包裝,即StoreFile底

9、層就是HLogFile,HBase中WAL(WriteAheadLog)格式,物理上是的Sequence3.3.1DataBlock1個Region2Region3.6描述了CompactionSplit在理解了上述HStore 的基本原理后,還必須了解一下WAL(Write Ahead Log)的功 無法避免系統(tǒng)出錯或者宕機,因此一旦HRegionServer 意外退出,MemStore 中的內(nèi)存數(shù)是一個實現(xiàn)WALMemStore的同時,也會寫一份數(shù)據(jù)到HLog文件中(HLog文件格式見后續(xù)),HLog文件定期會滾動出新的,并刪除舊的文件(已持分別放到相應(yīng)region 的 region re

10、gion 的 HLog中的數(shù)據(jù)到MemStore中,然后flush到StoreFiles的keyMetaBlockIndex(可選的):MetaBlockTrailer的keyMetaBlockIndex(可選的):MetaBlockTrailer 段一個 key3.7 , 了每個Data塊和Meta3.3.2 HLog(WAL 3.3.2 HLog(WAL 號的BlockScanBlockData以外就是一個個KeyValue 對拼接而成,壞。后面會詳細介紹每個KeyValue 對的開始是兩個固定長度的數(shù)值,分別表示Key 的長度和 Value 的長度。緊接著是 Key,開始是固定長度的數(shù)值

11、,表示RowKey 的長度,緊接著是 RowKey,然后是固定長度的數(shù)值,表示FamilyFamilyQualifier,然后是兩個固定長度的數(shù)值,表示TimeSt KeyType(Put/Delete)。Value3.4 關(guān)鍵算法/3.4.1Region定3.10 Region 上圖 3.9 中示意了 HLog 文件的結(jié)構(gòu),其實HLog 文件就是一個普通的 Hadoop Sequence File,Sequence File 的Key 是HLogKey 對象,HLogKey 中歸屬信息,除了table 和 region 名字外,同時還包括 sequence number 和 timest H

12、able 3.4.2 Store StoreFile region檢查數(shù)據(jù)是否與schema將更新寫入WAL Store中全部的StoreFileMemStore3.4.3RegionServer1. regionserverregionserverregion server 2. regionserver 1. master,獲得當前可用的regionserver 1. master,獲得當前可用的regionserver 2master split region server 參與)群中總是有一個master在提供服務(wù),還有一個以上的master 4.HBase 處理HBase令行工具,最

13、簡單的接口,適合HBase, 5. 應(yīng)用 簡單講解下HBase help hbase 提供了一個 5. 應(yīng)用 簡單講解下HBase help hbase 提供了一個 54建立一個表格 查看當前HBase這里grad 對于表來說是一個列,course 對于表來說是一個列族, 這個列族由兩個列 math 和art 組成,當然的需要在 course 中建立computer,physics等相應(yīng)的列添加入course列族,需要注意的是列族下面的列也是可以沒有名字的,如 grad 列族。 加入一行數(shù)據(jù),zkbgrad的列名為” (8)查看scores表中所有數(shù)據(jù)courses加入一行數(shù)據(jù),zkbgrad的列名為” (8)查看scores表中所有數(shù)據(jù)courses(9)刪除scores 常用的操作命令有6. 小 7. 參考HBaseTheDefinitiveGuideHBase HBase in Action(HBas

溫馨提示

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

評論

0/150

提交評論