鏈表_第1頁(yè)
已閱讀1頁(yè),還剩32頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、HBASE,,內(nèi)容提要,為什么需要HBaseHTable的邏輯組織HBase的運(yùn)行機(jī)制HBase與 HDFSHBase的對(duì)外接口,引入HBASE的原因,數(shù)據(jù)庫(kù)系統(tǒng)已無法適應(yīng)大型分布式數(shù)據(jù)存儲(chǔ)的需要改良的關(guān)系數(shù)據(jù)庫(kù)(副本、分區(qū)等)難于安裝與維護(hù)關(guān)系模型對(duì)數(shù)據(jù)的操作使數(shù)據(jù)的存貯變得復(fù)雜,引入HBASE的原因,HBASE從設(shè)計(jì)理念上就為可擴(kuò)展做好了充分準(zhǔn)備空間的擴(kuò)展只需要加入存儲(chǔ)結(jié)點(diǎn)使用‘表’的概念,但不同于關(guān)系數(shù)據(jù)庫(kù),不支持

2、SQL實(shí)質(zhì)上是一張極大的、非常稀疏的,存儲(chǔ)在分布式文件系統(tǒng)上的表,HBase歷史,2006年底由PowerSet 的Chad Walters和Jim Kellerman 發(fā)起2008年成為Apache Hadoop的一個(gè)子項(xiàng)目現(xiàn)已作為產(chǎn)品被使用WorldLingoStreamy.comOpenPlacesYahooAdobe,HBASE用例-WebTable,存儲(chǔ)抓取網(wǎng)頁(yè)和相關(guān)信息每個(gè)頁(yè)面對(duì)應(yīng)一行,是個(gè)有百萬行的大表

3、要基于此表進(jìn)行分析與解析并由搜索引擎對(duì)關(guān)鍵字進(jìn)行索引表需要并發(fā)地被眾多網(wǎng)頁(yè)抓取程序隨機(jī)地訪問以及更新數(shù)據(jù)表內(nèi)容也要作為網(wǎng)頁(yè)實(shí)時(shí)緩存被大量用戶隨機(jī)訪問,邏輯視圖,數(shù)據(jù)模型-行,行鍵,列,列,數(shù)據(jù)模型-行,每行數(shù)據(jù)有一可排序的關(guān)鍵字和任意列項(xiàng)字符串、整數(shù)、二進(jìn)制串甚至與串行化的結(jié)構(gòu)都可以作為行鍵表按照行鍵的“逐字節(jié)排序”順序?qū)π羞M(jìn)行有序化處理表內(nèi)數(shù)據(jù)非?!∈琛煌男械牧械臄?shù)完全目可以大不相同,數(shù)據(jù)模型-行,可以只對(duì)一行上“鎖

4、”對(duì)行的寫操作是始終是“原子”的,數(shù)據(jù)模型-列,列必須用‘族’(family)來定義任意一列有如下形式“族:標(biāo)簽”其中,族和標(biāo)簽都可為任意形式的串物理上將同“族”數(shù)據(jù)存儲(chǔ)在一起數(shù)據(jù)可通過時(shí)間戳區(qū)分版本,數(shù)據(jù)模型-列,族,標(biāo)簽,物理視圖,HTable小結(jié),系統(tǒng)總體結(jié)構(gòu),數(shù)據(jù)存儲(chǔ)實(shí)體-區(qū)域,表按照“水平”的方式劃分成一個(gè)或多個(gè)“區(qū)域”(region)每個(gè)區(qū)域都包含一個(gè)隨機(jī)id,區(qū)域內(nèi)的行也是按行鍵有序的最初每張表包含一個(gè)區(qū)域

5、,當(dāng)表增大超過閾值后,這個(gè)區(qū)域被自動(dòng)分割成兩個(gè)相同大小的區(qū)域區(qū)域以分布式的方式分布在集群內(nèi),區(qū)域的管理,區(qū)域服務(wù)器(Region Server)為區(qū)域的訪問提供服務(wù),直接為用戶提供服務(wù)負(fù)責(zé)維護(hù)區(qū)域的分割負(fù)責(zé)數(shù)據(jù)存持久化主服務(wù)器(Master Server)管理區(qū)域服務(wù)器指派區(qū)域服務(wù)器對(duì)服務(wù)特定區(qū)域恢復(fù)失效的區(qū)域服務(wù)器,特殊目錄數(shù)據(jù),元數(shù)據(jù)(META)全部用戶區(qū)域的屬性數(shù)據(jù)都存在元數(shù)據(jù)表中包括區(qū)域中數(shù)據(jù)起止行信息、區(qū)域

6、“在線”狀態(tài)等保存區(qū)域服務(wù)器地址元數(shù)據(jù)表也可包含多個(gè)區(qū)域,區(qū)域?qū)傩詳?shù)據(jù)存儲(chǔ)在“根”結(jié)點(diǎn)上,特殊目錄數(shù)據(jù),“根”表(ROOT)只存包含一個(gè)區(qū)域?qū)⒃獢?shù)據(jù)中的區(qū)域映射到區(qū)域服務(wù)器存儲(chǔ)元數(shù)據(jù)服務(wù)器位置以及映射了哪些元數(shù)據(jù)區(qū)域,區(qū)域服務(wù)器(Region Server)職能,負(fù)責(zé)處理用戶的讀寫請(qǐng)求向主服務(wù)器(Master Server)上報(bào)自己的狀態(tài),并獲取自己需要服務(wù)的區(qū)域?yàn)樘岣咝?,消息通過捎帶(pigback)方式通過“心跳”分

7、組進(jìn)行傳遞,區(qū)域服務(wù)器-“寫”,寫數(shù)據(jù)首先寫入“預(yù)寫”日志對(duì)于一個(gè)區(qū)域服務(wù)器而言,對(duì)其提供服務(wù)的所有區(qū)域的“寫”操作日志都存儲(chǔ)在同一個(gè)日志中數(shù)據(jù)并非直接寫文件系統(tǒng),而是先緩存,緩存到一定數(shù)量再批量寫入寫入完成后在日志中做標(biāo)記,區(qū)域服務(wù)器-“讀”,區(qū)域服務(wù)器現(xiàn)在內(nèi)存的緩存中查找,如果命中請(qǐng)求,則直接服務(wù)如果存在多個(gè)版本,則返回順序按照從最新到最老,區(qū)域服務(wù)器-合并,如果映射文件(Map File)數(shù)量超過閾值,區(qū)域服務(wù)器會(huì)進(jìn)行一次

8、合并(Compaction)合并操作也周期性進(jìn)行合并可與區(qū)域服務(wù)器響應(yīng)用戶的讀寫請(qǐng)求并發(fā)進(jìn)行如果讀寫請(qǐng)求與合并區(qū)域相關(guān),讀寫操作先掛起,直到合并操作完成,區(qū)域服務(wù)器-分割,當(dāng)區(qū)域文件大過閾值后,區(qū)域文件會(huì)按照行的方式對(duì)半進(jìn)行分割(Split)操作分割也作為一種請(qǐng)求被區(qū)域服務(wù)器處理被分割區(qū)域先離線區(qū)域服務(wù)器在元信息表中生成子表元信息主服務(wù)器在得知分割操作進(jìn)行后,將子表分配給新的區(qū)域服務(wù)器進(jìn)行服務(wù)被分割區(qū)域通過垃圾回收機(jī)制回

9、收,區(qū)域服務(wù)器-分割,如果主服務(wù)器沒能正確收到分割消息,主服務(wù)器可通過定期檢查MATA數(shù)據(jù)發(fā)現(xiàn)分割操作開始分割操作后,被分割區(qū)域離線,此時(shí)客戶端能檢測(cè)到并在分割后的區(qū)域上線后重發(fā)訪問請(qǐng)求,失效恢復(fù),由于檢測(cè)沒有心跳,主服務(wù)器能夠探知區(qū)域服務(wù)器的失效主服務(wù)器將失效服務(wù)器所提供服務(wù)的區(qū)域重新分配給其它區(qū)域服務(wù)器原失效區(qū)域服務(wù)器的“預(yù)寫”日志由主服務(wù)器進(jìn)行分割并派送給新的區(qū)域服務(wù)器,客戶端,連接到ZooKeeper集群獲取根區(qū)域數(shù)據(jù)和元

10、數(shù)據(jù)的位置在元數(shù)據(jù)中查找需要訪問行所在的區(qū)域并定位提供該區(qū)域服務(wù)的區(qū)域服務(wù)器直接與區(qū)域服務(wù)器交互以獲取數(shù)據(jù)根區(qū)域數(shù)據(jù)、元數(shù)據(jù)以及用戶區(qū)域信息都被客戶端緩存以備下次訪問使用,系統(tǒng)總體結(jié)構(gòu),HBase安裝,需要ZooKeeper支持本身帶zookeeper.jar包步驟解壓,并添加支撐的.jar包到用戶CLASS_PATH修改conf下hbase-env.sh, regionserversHbase-site.xml啟動(dòng)

11、Hbase: bin/start-hbase.sh,HBase Shell,啟動(dòng)bin/hbase shell主要命令create 創(chuàng)建表describe 描述表enable/disable 表激活/取消drop 刪除表get/put 表讀寫,HBase API,HBaseConfigurationaddResource(…)HTableput(…)get(…)ResultScannernext(…),HBas

12、e與HDFS,如果使用HDFS需要配置RegionServer,定位存儲(chǔ)位置為HDFS服務(wù)/conf/hbase-site.xml定義hbase.rootdir值,指向HDFS服務(wù),如:hdfs://hdfs_server:port/hbase_root,HBase與其它文件系統(tǒng),HBase可以使用其它分布式文件系統(tǒng)mount至掛載點(diǎn),如/mnt/mydfs定義hbase.rootdir值,指向掛載點(diǎn),如 file:///mn

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論