HBase簡介及叢集安裝
阿新 • • 發佈:2018-12-09
一、Hbase概述
Apache HBase™是Hadoop資料庫,是一個分散式,可擴充套件的大資料儲存。
當您需要對大資料進行隨機,實時讀/寫訪問時,請使用Apache HBase™。該專案的目標是託
管非常大的表 - 數十億行X百萬列 - 在商品硬體叢集上。Apache HBase是一個開源的,分散式
的,版本化的非關係資料庫,模仿Google的Bigtable: Chang等人的結構化資料分散式儲存系
統。正如Bigtable利用Google檔案系統提供的分散式資料儲存一樣,Apache HBase在Hadoop和
HDFS之上提供類似Bigtable的功能。
2006年-google發表了bigtable的白皮書
2006年-開始開發hbase
2008年-hbase正式成為apache的子專案
2010年-正式成為apache的頂級專案
二、Hbase架構
三、Hbase叢集安裝部署
叢集配置:
zk叢集3臺
hadoop叢集3臺
hbase叢集3臺
1、上傳hbase-1.3.0-bin.tar.gz到/root下
2、解壓
cd ~
tar -zxvf hbase-1.3.0-bin.tar.gz -C hd
3、修改配置檔案
cd /root/hd/hbase-1.3.0/conf
(1)hbase-env.sh--修改環境變數
vi hbase-env.sh
export JAVA_HOME=/root/hd/jdk1.8.0_144 # 修改java環境變數
export HBASE_MANAGES_ZK=false # 關閉hbase自帶的Zookeeper叢集,換成自己叢集的Zookeeper叢集
(2)hbase-site.xml--加入配置資訊(在<configuration>標籤內)
vi hbase-site.xml
<!-- 設定namenode所在位置 通過rootdir設定 也就是設定hdfs中存放的路徑 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hd09-1:9000/hbase</value>
</property>
<!-- 是否開啟叢集 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 0.98 後的新變動,之前版本沒有.port,預設埠為 60000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<!-- zookeeper叢集的位置 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>hd09-1:2181,hd09-2:2181,hd09-3:2181</value>
</property>
<!-- hbase的元資料資訊儲存在zookeeper的位置 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/root/hd/zookeeper-3.4.10/zkData</value>
</property>
(3)regionservers--加入從節點
vi regionservers
hd09-1
hd09-2
hd09-3
4、解決依賴問題
(1)刪除hbase自帶的jar包
cd /root/hd/hbase-1.3.0/lib
rm -rf hadoop-*
rm -rf zookeeper-3.4.6.jar
(2)進入放置zookeeper和hadoop的依賴包的資料夾,通過
cp ./* /root/hd/hbase-1.3.0/lib/
把相關版本的zookeeper和hadoop的依賴包匯入到hbase/lib下
(3)軟連線hadoop配置
ln -s /root/hd/hadoop-2.8.4/etc/hadoop/core-site.xml /root/hd/hbase-1.3.0/conf/
ln -s /root/hd/hadoop-2.8.4/etc/hadoop/hdfs-site.xml /root/hd/hbase-1.3.0/conf/
5、分發hbase安裝檔案到其他節點
cd /root/hd
scp -r hbase-1.3.0/ hd09-2:/root/hd
scp -r hbase-1.3.0/ hd09-3:/root/hd
6、啟動叢集
首先要啟動hdfs叢集,yarn叢集和zookeeper叢集(其中括號內的是啟動命令所在的節點主機名,不包含在命令中)
start-dfs.sh (hd09-1)
start-yarn.sh (hd09-1)
zkServer.sh start (hd09-1,hd09-2,hd09-3)
cd /root/hd/hbase-1.3.0
bin/hbase-daemon.sh start master (hd09-1)
bin/hbase-daemon.sh start regionserver (hd09-2,hd09-3)
7、啟動終端
cd /root/hd/hbase-1.3.0
bin/hbase shell
8、ui介面
http://hd09-1 :16010/master-status
HBase架構
Hadoop和ZooKeeper依賴