Hbase: Hadoop Databasenode
Hbase是非關係型數據庫,隨着如今互聯網的數據量愈來愈多,需求更加多元化,傳統的關係型數據庫沒法知足實際的業務需求,NoSql類型數據庫孕育而生。sql
可用於存儲非結構化數據,同時採用分佈式的設計基本可實現整個數據庫容量的無限擴容,同時對單機的性能要求不高,基於Google的big table論文實現,HBase經過行鍵、列族、列實現表字段的無限擴展。shell
address字段,可將address設定爲一個列族,address:provice、address:city、address:area 3個列來表示不一樣的地域,北京可只用address:city、address:area兩個列,廣東可以使用address:provice、address:city、address:area三個列,這樣就可知足不一樣地域的全部要求,若是須要引入國家,直接添加一個新的列:address:country便可,這樣就可解決關係型數據庫字段固定致使不靈活的缺陷數據庫
Hbase 部署模式:單機模式、僞分佈式、徹底分佈式服務器
基礎:Hadoop技術體系框架基於Java開發,所以配置Hadoop框架需事先配置好JDK框架
注意:HBase和Hadoop存在版本匹配的關係分佈式
單機模式:Hbase單機獨立運行 配置步驟:oop
設置JAVA_HOME環境變量:JAVA_HOME:/usr/local/jdk1.8.0_112
<property> <name>hbase.rootdir</name> <value>file:///usr/local/hbase0.90.5/data</value> </property>
解釋:性能
hbase.rootdir:hbase存放數據的目錄:file://表示本地問文件系統存儲(實際存儲HDFS) 3. 啓動Hbase: $HBASE_HOME/bin/start-hbase.sh 4. 驗證Hbase是否成功啓動:控制檯輸入jps,若是出現Hmaster的線程表示成功開啓 5. hbase shell:若能成功進入shell界面,表示Hbase的啓動和配置都沒問題線程
僞分佈模式:Hbase單機模擬Hbase數據庫集羣
安裝步驟:
設置JAVA_HOME環境變量:JAVA_HOME:/usr/local/jdk1.8.0_112 設置export HBASE_CLASSPATH:export HBASE_CLASSPATH=/usr/local/hadoop-0.20.2/conf
解釋:HBASE_CLASSPATH綁定Hbase到Hadoop集羣:主要是hadoop的core-site.xml
<property> <name>hbase.rootdir</name> <value> file:///usr/local/hbase0.90.5/data </value> </property> <property> <name>hbase.cluster.distributed </name> <value>true </value> </property>
解釋:hbase.cluster.distributed :是否開啓Hbase的分佈式集羣
徹底分佈式:真實的HBase部署環境
安裝步驟:
設置JAVA_HOME環境變量:JAVA_HOME:/usr/local/jdk1.8.0_112 設置export HBASE_CLASSPATH:export HBASE_CLASSPATH=/usr/local/hadoop-0.20.2/conf
解釋:HBASE_CLASSPATH綁定Hbase到Hadoop集羣:主要是hadoop的core-site.xml
<property> <name>hbase.rootdir</name> <value> file:///usr/local/hbase0.90.5/data </value> </property> <property> <name>hbase.cluster.distributed </name> <value>true </value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>master,slaves01,slaves02</value> </property>
解釋:hbase.zookeeper.quorum:Zookeeper的Znode節點,也就是HBase集羣每一個節點服務器主機名,需在Hosts裏面進行指定或者經過DNS服務器進行主機名解析,這裏使用Hbase自帶的Zookeeper進行處理
Hbase和hadoop存在版本匹配問題:若是出現Hmaster沒法或者建立的狀況,可將主機上的Hadoop核心包hadoop-core-XXXX.jar替換HBase lib目錄下的Hadoop-core-XXX.jar
啓動Hbase: $HBASE_HOME/bin/start-hbase.sh
驗證Hbase是否成功啓動:控制檯輸入jps,若是出現Hmaster的線程表示成功開啓
hbase shell:若能成功進入shell界面,表示Hbase的啓動和配置都沒問題
注意:實際環境中Hbase的數據存儲是構建於Hadoop HDFS基礎上,只需配置hbase-site.xml文件指定HBase數據存儲路徑便可:
<property> <name>hbase.rootdir</name> <value>master:9090/hbase </value> </property>
解析:
master:9090/hbase
HBase成功啓動的界面:HMaster/HRegionServer