部署Hadoop環境(四)HBase分散式叢集部署與設計
HBase是一個高可靠、高效能、面向列、可伸縮的分散式儲存系統,利用Hbase技術可在廉價PC Server上搭建 大規模結構化儲存叢集。
HBase 是Google Bigtable 的開源實現,與Google Bigtable 利用GFS作為其檔案儲存系統類似, HBase 利用Hadoop HDFS 作為其檔案儲存系統;Google 執行MapReduce 來處理Bigtable中的海量資料, HBase 同樣利用Hadoop MapReduce來處理HBase中的海量資料;Google Bigtable 利用Chubby作為協同服務, HBase 利用Zookeeper作為對應。
1.下載HBase並安裝
1)下載Apache版本的HBase。
2)下載Cloudera版本的HBase。
3)這裡選擇下載cdh版本的hbase-0.98.6-cdh5.3.0.tar.gz,然後上傳至bigdata-pro01.kfk.com節點/opt/softwares/目錄下
4)解壓hbase
tar -zxf hbase-0.98.6-cdh5.3.0.tar.gz -C /opt/modules/
2.分散式叢集的相關配置
1)HBase架構體系
a.Zookeeper
Zookeeper Quorum中除了儲存了-ROOT-表的地址和HMaster的地址,HRegionServer也會把自己以Ephemeral方式註冊到Zookeeper中,使得HMaster可以隨時感知到各個HRegionServer的健康狀態。此外,Zookeeper也避免了HMaster的單點問題。
b.HBase Master
每臺HRegion伺服器都會和HMaster伺服器通訊,HMaster的主要任務就是要告訴每臺HRegion伺服器它要維護哪些HRegion。 當一臺新的HRegion伺服器登入到HMaster伺服器時,HMaster會告訴它先等待分配資料。而當一臺HRegion宕機時,HMaster會把它負責的HRegion標記為未分配,然後再把它們分配到其他HRegion伺服器中。
c.HRegionServer
HRegionServer主要負責響應使用者I/O請求,向HDFS檔案系統中讀寫資料,是HBase中最核心的模組。
2)HBase叢集規劃
3)分散式叢集相關配置
a.hbase-env.sh
#配置jdk
export JAVA_HOME=/opt/modules/jdk1.7.0_67
#使用獨立的Zookeeper
export HBASE_MANAGES_ZK=false
b.hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://ns/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>bigdata-pro01.kfk.com,bigdata-pro02.kfk.com,
bigdata-pro03.kfk.com</value>
</property>
</configuration>
c.regionservers
bigdata-pro01.kfk.com
bigdata-pro02.kfk.com
bigdata-pro03.kfk.com
d.backup-masters
bigdata-pro02.kfk.com
4)將hbase配置分發到各個節點
scp -r hbase-0.98.6-cdh5.3.0 bigdata-pro02.kfk.com:/opt/modules/
scp -r hbase-0.98.6-cdh5.3.0 bigdata-pro03.kfk.com:/opt/modules/
3.啟動HBase服務
1)各個節點啟動Zookeeper
zkServer.sh start
2)主節點啟動HDFS
bin/start-dfs.sh
3)啟動HBase
bin/start-hbase.sh
4)檢視HBase Web介面
bigdata-pro01.kfk.com:60010/
如果各個節點啟動正常,那麼HBase就搭建完畢。
4.通過shell測試資料庫
1)選擇主節點進入HBase目錄,啟動hbase-shell
cd hbase-0.98.6-cdh5.3.0
bin/hbase-shell
2)檢視所有表命令
list
3)使用help幫助命令
help
4)建立表
create 'test','info'
5)新增資料
put 'test','0001','info:userName','laocao'
6)全表掃描資料
scan 'test'
7)查看錶結構
describe 'test'
8)刪除表
disable 'test'
drop 'test'
5.根據業務需求建立表結構
1)下載資料來源檔案
2)HBase上建立表
create 'weblogs','info'