Hbase體系結(jié)構(gòu)理解-創(chuàng)新互聯(lián)

1. Hbase的集群架構(gòu)

創(chuàng)新互聯(lián)2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元北塔做網(wǎng)站,已為上家服務(wù),為北塔各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792

  首先hbase是hadoop的一個組件.而hadoop內(nèi)部有很多的組件,這些組件幾乎都依賴于hadoop最核心的兩個東西建立起來的,一個是hdfs文件系統(tǒng),另一個是mapreduce。當(dāng)然hbase也不例外。

  hbase其實(shí)就是一個非關(guān)系型的數(shù)據(jù)庫系統(tǒng),可以將他和關(guān)系型數(shù)據(jù)庫mysql類比一下,可能會便于

理解。

Hbase體系結(jié)構(gòu)理解                                                 (此圖引用于百度百科)

  Hbase有3種搭建方式:本地模式,偽分布模式和集群模式。那么一般情況下,我們便于學(xué)習(xí)Hbase的各種特性,只需要搭建偽分布模式即可。偽分布模式和集群模式的區(qū)別就是,hbase這個系統(tǒng)的所有守護(hù)進(jìn)程全部運(yùn)行在一個物理節(jié)點(diǎn)上和真正的分布在不同的物理節(jié)點(diǎn)之上。

  那么不論是偽分布和集群模式。其集群都包含幾個主要的守護(hù)進(jìn)程:HMaster,HRegionserver,zookeeper,以及client。那么我們通過命令行或者JavaApi或其他方式來使用Hbase時,都是通過client向hbase發(fā)送命令的。

  簡單理解一下各個守護(hù)進(jìn)程的作用:HMaster并不像hdfs中的Namenode那樣,維護(hù)了整個系統(tǒng)的元數(shù)據(jù),負(fù)責(zé)與client交互以實(shí)現(xiàn)對分節(jié)點(diǎn)的管理控制等全部統(tǒng)籌功能。Hmaster不負(fù)責(zé)與client有太多的交互,大部分情況下是由zookeeper來與client通信,然后實(shí)現(xiàn)對hbase的使用和管理。同時元數(shù)據(jù)也是由zookeeper來維護(hù)的,包括各個regionserver的地址等等。

  下面是一個簡單的總結(jié)這兩者各自的分工:

  • Zookeeper

  保證任何時候,集群中只有一個running master

  存貯所有Region 的尋址入口

  實(shí)時監(jiān)控Region Server 的狀態(tài),將Region server 的上線和下線信息,實(shí)時通知給Master

  存儲Hbase 的schema,包括有哪些table,每個table 有哪些column family

  • Master可以啟動多個HMaster,通過Zookeeper的Master Election機(jī)制保證總有一個Master運(yùn)行

  為Region server 分配region

  負(fù)責(zé)region server 的負(fù)載均衡

  發(fā)現(xiàn)失效的region server 并重新分配其上的region

2. Hbase的存儲方式和結(jié)構(gòu)

 要講Hbase的存儲方式,我們從兩方面來描述,一個是邏輯存儲方式和物理的存儲方式。(比如mysql中的二維關(guān)系表就是關(guān)系型數(shù)據(jù)庫的邏輯存儲結(jié)構(gòu),而這些表在硬盤上實(shí)際的存儲形式便是所謂的物理存儲方式)。

   Hbase的邏輯存儲方式:

   Hbase體系結(jié)構(gòu)理解  表是稀疏表,所以可以類別mysql的關(guān)系表來理解,但是實(shí)際上并不是一回事。首先表有行健,列簇,列名,時間簇等幾個概念。一個表定義之初,應(yīng)該給出其表名,列簇信息。一行中,有多個固定的列簇,每個列簇下在插入數(shù)據(jù)時可以設(shè)置任意的列名。由一個行健,一個列簇+列名可以標(biāo)定一個表中的單元格,而一個單元格中有由時間戳區(qū)分不同版本的值。表中的所有信息實(shí)際上都是以二進(jìn)制形式存儲的。不像關(guān)系表中支持那么多的數(shù)據(jù)類型。所以如果要用各種數(shù)據(jù)類型,只能由自己在程序中進(jìn)行維護(hù)。

  Hbase的物理存儲方式:

  Hbase的數(shù)據(jù)其實(shí)是由Hmaster進(jìn)行配置,實(shí)際上存在各個Hregionserver中的。一個稀疏表是按行健進(jìn)行排序和存儲。這些表會按行被拆分為多個region存儲道不同的regionserver中,一個regionserver中可以存儲多region。這些region對應(yīng)了表中的不同部分的行,而這些行實(shí)際也被劃分為不同的文件存儲,劃分方式即是列簇,一個列簇一個文件,所以稱之為面向列的數(shù)據(jù)庫。那么這些文件實(shí)際上是放在hdfs里的,也就是以block的形式存儲在硬盤上的。

  那么表是按rowkey的字典順序來存儲的,簡單來說,就是對于rowkey,從左到右,譯成ascii碼來比大小排序。所以呢由于這個原因,在設(shè)計(jì)rowkey時,最好不要直接把時間戳這樣的數(shù)據(jù)直接作為rowkey,因?yàn)檫@樣會導(dǎo)致新產(chǎn)生的數(shù)據(jù)由于其時間戳都在一個范圍內(nèi),導(dǎo)致存儲的時候全部擁擠到某一個regionserver中。一般可以在時間戳前面加上散列值,設(shè)計(jì)成:(散列值:時間戳)這樣的形式

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站名稱:Hbase體系結(jié)構(gòu)理解-創(chuàng)新互聯(lián)
文章位置:http://muchs.cn/article4/cdcjie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號標(biāo)簽優(yōu)化手機(jī)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、面包屑導(dǎo)航Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)