07大數(shù)據(jù)數(shù)據(jù)庫(kù)hbase-1.2.308_第1頁(yè)
07大數(shù)據(jù)數(shù)據(jù)庫(kù)hbase-1.2.308_第2頁(yè)
07大數(shù)據(jù)數(shù)據(jù)庫(kù)hbase-1.2.308_第3頁(yè)
07大數(shù)據(jù)數(shù)據(jù)庫(kù)hbase-1.2.308_第4頁(yè)
07大數(shù)據(jù)數(shù)據(jù)庫(kù)hbase-1.2.308_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Apache HBase徐培成是分布式面向列的數(shù)據(jù)庫(kù),構(gòu)建在hadoop之上,類(lèi)似于google的big table,對(duì)海量結(jié)構(gòu)化數(shù)據(jù)的快速隨機(jī)訪問(wèn).是hadoop生態(tài)系統(tǒng)的一部分。提供隨機(jī)實(shí)時(shí)讀寫(xiě)。HBase簡(jiǎn)介master-slave主從結(jié)構(gòu)table從豎直方向進(jìn)行切割,分成若干個(gè)區(qū)域。由每個(gè)regionserver進(jìn)行處理。master server(ms)a.負(fù)責(zé)指派region給rs.通過(guò)zk獲得task的幫助b.處理跨rs的region的負(fù)載均衡問(wèn)題。c.從繁忙服務(wù)到空閑服務(wù)器之間的數(shù)據(jù)轉(zhuǎn)載。d.通過(guò)裁定負(fù)載均衡判斷集群的狀態(tài)。HBase架構(gòu)4.region被切割的表,跨rs。4.

2、region server(rs)和client通信處理數(shù)據(jù)操作處理它下面的所有region的讀寫(xiě)請(qǐng)求。通過(guò)閥值決定region size.HBase架構(gòu)下載hbase-1.2.3.tar.gztar環(huán)境變量HBASE_HOME=/soft/hbasePATH=.:/soft/hbase/binHBase安裝localconf/hbase-site.xmlhbase.rootdir=file:/home/ubuntu/hbase偽分布conf/hbase-site.xmlhbase.rootdir=file:/home/ubuntu/hbasedfs.replication=1HBase配置f

3、ull distributedconf/hbase-site.xmlhbase.rootdir=hdfs:/s100:8020/hbasedfs.replication=3hbase.cluster.distributed=perty.clientPort=2181hbase.zookeeper.quorum=s101,s102,perty.dataDir=/hbase/zkHBase配置full distributedconf/regionservers.xmls101s102s103分發(fā)hbase配

4、置HBase配置啟動(dòng)$start-dfs.sh/只需要hdfs支持,$start-hbase.sh/啟動(dòng)集群$stop-hbase.sh/停止集群$hbase shell/進(jìn)入hbase shellHBase啟動(dòng)啟動(dòng) /hmaster /hregionserverHBase webUI啟動(dòng)$hbase shell/進(jìn)入shell$hbasehelp/查看幫助$hbasehelp comand/查看命令幫助$hbasecreate t1,NAME=cf1/創(chuàng)建表$hbasedelete .$hbaseget .$hbasescan .$hbasedisable t1$hbasedrop t1HB

5、ase shell操作HBase TTL-原生掃描HBaseConfiguration/加載hbase-site.xmlConfiguration conf = HBaseConfiguration.create();conn = ConnectionFactory.createConnection(conf);admin = conn.getAdmi();conn.getTable(TableName.valueOf(t1);HBase Client APIHbase和HadoopHA集成配置HBASE_CLASSPATH/soft/hbase/conf/hbase-env.shexport

6、 HBASE_CLASSPATH=$HBASE_CLASSPATH:/soft/hadoop/etc/hadoop創(chuàng)建hdfs-site.xml符號(hào)連接$ln -s /soft/hadoop/etc/hadoop/hdfs-site.xml /soft/hbase/conf/hdfs-site.xmlHBase與Hadoop HA集成Hbase和HadoopHA集成修改hbase.rootdir的目錄/soft/hbase/conf/hbase-site.xmlhbase.rootdir hdfs:/mycluster/hbase將以上步驟分發(fā)處理。HBase與Hadoop HA集成見(jiàn)備注。H

7、Base二次索引HBase的RowKey設(shè)計(jì)原則rowkey長(zhǎng)度原則rowkey是一個(gè)二進(jìn)制碼流,可以是任意字符串,最大長(zhǎng)度 64kb ,實(shí)際應(yīng)用中一般為10-100bytes,以byte 形式保存,一般設(shè)計(jì)成定長(zhǎng)。建議越短越好,不要超過(guò)16個(gè)字節(jié),原因如下:目前操作系統(tǒng)都是64位系統(tǒng),內(nèi)存8字節(jié)對(duì)齊,控制在16個(gè)字節(jié),8字節(jié)的整數(shù)倍利用了操作系統(tǒng)的最佳特性。HBase RowKey設(shè)計(jì)原則HBase的RowKey設(shè)計(jì)原則rowkey散列原則如果rowkey按照時(shí)間戳的方式遞增,不要將時(shí)間放在二進(jìn)制碼的前面,建議將rowkey的高位采用散列字段處理,由程序隨機(jī)生成,低位放時(shí)間字段,這樣將提高數(shù)

8、據(jù)均衡分布在每個(gè)RegionServer,以實(shí)現(xiàn)負(fù)載均衡的幾率。如果不進(jìn)行散列字段處理,首字段直接使用時(shí)間信息,所有的數(shù)據(jù)都會(huì)集中在一個(gè)RegionServer上,這樣在數(shù)據(jù)檢索的時(shí)候負(fù)載會(huì)集中在個(gè)別的RegionServer上,造成熱點(diǎn)問(wèn)題,會(huì)降低查詢(xún)效率。HBase RowKey設(shè)計(jì)原則HBase的RowKey設(shè)計(jì)原則rowkey唯一原則必須在設(shè)計(jì)上保證其唯一性,rowkey是按照字典順序排序存儲(chǔ)的,因此,設(shè)計(jì)rowkey的時(shí)候,要充分利用這個(gè)排序的特點(diǎn),將經(jīng)常讀取的數(shù)據(jù)存儲(chǔ)到一塊,將最近可能會(huì)被訪問(wèn)的數(shù)據(jù)放到一塊。HBase RowKey設(shè)計(jì)原則HBase的RowKey設(shè)計(jì)原則什么是熱點(diǎn)

9、HBase中的行是按照rowkey的字典順序排序的,這種設(shè)計(jì)優(yōu)化了scan操作,可以將相關(guān)的行以及會(huì)被一起讀取的行存取在臨近位置,便于scan。然而糟糕的rowkey設(shè)計(jì)是熱點(diǎn)的源頭。 熱點(diǎn)發(fā)生在大量的client直接訪問(wèn)集群的一個(gè)或極少數(shù)個(gè)節(jié)點(diǎn)(訪問(wèn)可能是讀,寫(xiě)或者其他操作)。設(shè)計(jì)良好的數(shù)據(jù)訪問(wèn)模式以使集群被充分,均衡的利用。為了避免寫(xiě)熱點(diǎn),設(shè)計(jì)rowkey使得不同行在同一個(gè)region,但是在更多數(shù)據(jù)情況下,數(shù)據(jù)應(yīng)該被寫(xiě)入集群的多個(gè)region,而不是一個(gè)。HBase RowKey設(shè)計(jì)原則HBase的RowKey設(shè)計(jì)原則鹽析(salt)這里所說(shuō)的加鹽不是密碼學(xué)中的加鹽,而是在rowkey的

10、前面增加隨機(jī)數(shù),具體就是給rowkey分配一個(gè)隨機(jī)前綴以使得它和之前的rowkey的開(kāi)頭不同。分配的前綴種類(lèi)數(shù)量應(yīng)該和你想使用數(shù)據(jù)分散到不同的region的數(shù)量一致。加鹽之后的rowkey就會(huì)根據(jù)隨機(jī)生成的前綴分散到各個(gè)region上,以避免熱點(diǎn)。HBase RowKey設(shè)計(jì)原則HBase的RowKey設(shè)計(jì)原則哈希哈希會(huì)使同一行永遠(yuǎn)用一個(gè)前綴加鹽。哈希也可以使負(fù)載分散到整個(gè)集群,但是讀卻是可以預(yù)測(cè)的。使用確定的哈??梢宰尶蛻?hù)端重構(gòu)完整的rowkey,可以使用get操作準(zhǔn)確獲取某一個(gè)行數(shù)據(jù)HBase RowKey設(shè)計(jì)原則HBase的RowKey設(shè)計(jì)原則反轉(zhuǎn)第三種防止熱點(diǎn)的方法時(shí)反轉(zhuǎn)固定長(zhǎng)度或者數(shù)字格式的rowkey。這樣可以使得rowkey中經(jīng)常改變的部分(最沒(méi)有意義的部分)放在前面。這樣可以有效的隨機(jī)rowkey,但是犧牲了rowkey的有序性。反轉(zhuǎn)rowkey的例子以手機(jī)號(hào)為rowkey,可以將手機(jī)號(hào)反轉(zhuǎn)后的字符串作為rowkey,這樣的就避免了以手機(jī)號(hào)那樣比較固定開(kāi)頭導(dǎo)致熱點(diǎn)問(wèn)題HBase RowKey設(shè)計(jì)原則HBase的RowKey設(shè)計(jì)原則時(shí)間戳反轉(zhuǎn)一個(gè)常見(jiàn)的數(shù)據(jù)處理問(wèn)題是快速獲取數(shù)據(jù)的最近版本,使用反轉(zhuǎn)的時(shí)間戳作

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論