大資料系列之資料庫Hbase知識整理(一)Hbase簡介,叢集搭建
1.Hbase簡介
HBase是一個分散式的、面向列的開源資料庫,該技術來源於 Fay Chang 所撰寫的Google論文“Bigtable:一個結構化資料的分散式儲存系統”。就像Bigtable利用了Google檔案系統(File System)所提供的分散式資料儲存一樣,HBase在Hadoop之上提供了類似於Bigtable的能力。HBase是Apache的Hadoop專案的子專案。HBase不同於一般的關係資料庫,它是一個適合於非結構化資料儲存的資料庫。另一個不同的是HBase基於列的而不是基於行的模式。
HBase與Hadoop的關係非常緊密,Hadoop的HDFS提供了高可靠性的底層儲存支援,Hadoop MapReduce為HBase提供了高效能的計算能力,Zookeeper為HBase提供了穩定性及failover機制的保障。同時其他周邊產品諸如Hive可以與HBase相結合使在HBase進行資料統計處理變得簡單,Sqoop為HBase提供了方便的RDBMS資料匯入功能,使傳統資料庫的資料向HBase中遷移變得容易,Spark等高效能的記憶體分散式計算引擎也可能幫助我們更加快速的對HBase中的資料進行處理分析。
Hbase使得使用者可以隨機、實時的讀寫資料,是一款版本化、非關係資料庫,實現了分散式可伸縮大型資料儲存。與我們前面大資料系列資料倉庫Hive相比,Hbase更加註重實時讀寫,而Hive則不能做到實時,因為要開啟MapReduce,Hive更像是資料分析,而Hbase則是實時讀寫。那麼Hbase為什麼會火起來,又適用哪些場景呢?
下面比較好的回答Hbase為什麼會火,Hbase適應場景,請參考如下:
2.Hbase叢集搭建
0.選擇安裝的主機
s10 ~ s12
1.jdk(前面已經安裝,可參考前面系列)
略
2.hadoop(前面已經安裝,可參考前面系列)
略
3.tar
tar -zxvf hbase-1.2.6-bin.tar.gz
//建立符號連結
ln -s hbase-1.2.6 hbase
4.環境變數
export HBASE_HOME=/home/zpx/soft/hbase
export PATH=$PATH:$HBASE_HOME/bin
source /etc/profile
5.配置hbase模式
5.1)本地模式
[hbase/conf/hbase-env.sh]
EXPORT JAVA_HOME=/home/zpx/soft/jdk1.8.0_65
[hbase/conf/hbase-site.xml]
...
<property>
<name>hbase.rootdir</name>
<value>file:/home/hadoop/HBase/HFiles</value>
</property>
5.2)偽分散式
[hbase/conf/hbase-env.sh]
EXPORT JAVA_HOME=/home/zpx/soft/jdk1.8.0_65
[hbase/conf/hbase-site.xml]
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:8030/hbase</value>
</property>
5.3)完全分散式(必做)
[hbase/conf/hbase-env.sh]
export JAVA_HOME=/home/zpx/soft/jdk1.8.0_65
export HBASE_MANAGES_ZK=false
[hbse-site.xml]
<!-- 使用完全分散式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定hbase資料在hdfs上的存放路徑 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://s10:8020/hbase</value>
</property>
<!-- 配置zk地址 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>s10:2181,s11:2181,s12:2181</value>
</property>
<!-- zk的本地目錄 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/zpx/zookeeper</value>
</property>
6.配置regionservers
[hbase/conf/regionservers]
s10
s11
s12
7.啟動hbase叢集(s10,程序如下)
$>start-hbase.sh
注意:一定要先開啟zookeeper和hdfs之後再開啟Hbase,使用hbase version可以檢視版本號
8.登入hbase的webui
http://s10:16010
軟體包:
連結:https://pan.baidu.com/s/1gil97LG3xgQClVhXa_v4uA 密碼:mibj