1. 程式人生 > >(一)Hbase搭建

(一)Hbase搭建

HBase簡介

  • hbase部分依賴mapreduce來實現,mapreduce又可以直接操作hbase。
  • Hbase是一種nosql,是基於hadoop的資料庫,利用hdfs作為儲存。
  • 適合儲存半結構化(例如json格式),非結構化(例如圖片)的資料。
  • 空的資料不佔用空間 ,適合儲存稀疏的資料。關係型資料,即使是空的欄位也佔用儲存空間 。

HBase邏輯結構

  • 行鍵(RowKey):可以確定唯一一行資料,hbase所有行都必須有行鍵,且唯一非空。
  • 訪問方式:通過行鍵,通過行鍵範圍,全表掃描。
  • 列族(Column Family):一個表有多個列族,一個列族下面可以有多個列。增加列族需 alter table。
  • 列(Column):列可以動態增加,不需要提前宣告。
  • 單元格:行與列的交匯處是一個單元格,一個單元格里可以儲存多個版本的資訊,每個版本的資訊都有對應的時間戳。
  • 資料型別:所有資料都是以二進位制的形式儲存,沒有資料型別的概念。

HBase安裝配置

注意:安裝jdk 和 hadoop,並配置了環境變數

  • HBase與Hadoop版本的匹配關係
  HBase-0.92.x HBase-0.94.x HBase-0.96
Hadoop-0.20.205 S(支援) X(不支援) X
Hadoop-0.22.x  S X X
Hadoop-1.0.x S S S
Hadoop-1.1.x NT(未測試) S S
Hadoop-0.23.x  X S NT
Hadoop-2.x X S S
  • 單機模式(直接使用linux檔案系統儲存資料)

解壓安裝包:tar -zxvf xxxxx.tar.gz

修改conf/hbase-site.xml,配置hbase使用的資料檔案的位置:

<property>
	<name>hbase.rootdir</name>
	<value>file:///<path>/hbase</value>
</property>
  •  偽分散式模式

解壓安裝包:tar -zxvf xxxxx.tar.gz

修改conf/hbase-env.sh,修改JAVA_HOME的值

export JAVA_HOME=xxxx

修改hbase-site.xml,配置使用hdfs

<property>
	<name>hbase.rootdir</name>
	<value>hdfs://hadoop00:9000/hbase</value>
</property>
<property>
	<name>dfs.replication</name>
	<value>1</value>
</property>
  • 完全分散式模式

解壓安裝包:tar -zxvf xxxxx.tar.gz

修改conf/hbase-env.sh,修改JAVA_HOME的值

export JAVA_HOME=xxxx

修改hbase-site.xml,配置開啟完全分散式模式

<!-- 配置hbase.cluster.distributed為true
     配置hbase.rootdir設定為HDFS訪問地址 -->
<property>
	<name>hbase.rootdir</name>
	<value>hdfs://hadoop00:9000/hbase</value>
</property>
<property>
	<name>dfs.replication</name>
	<value>1</value>
</property>
<property>
	<name>hbase.cluster.distributed</name>
	<value>true</value>
</property>
<property>
    <!-- zookeeper叢集 -->
	<name>hbase.zookeeper.quorum</name>
	<value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
</property>

修改conf/hbase-env.sh禁用對zookeeper的自動管理

<!--開啟自動管理意味著:hbase啟動時會開啟zookeeper服務,但是若關掉也會順便關掉zookeeper-->
export HBASE_MANAGES_ZK false
  • 配置注意事項

hbase-env.sh配置HBase啟動時需要的相關環境變數

hbase-site.xml配置HBase基本配置資訊

HBASE啟動時預設使用hbase-default.xml中的配置,如果需要可以修改hbase-site.xml檔案,此檔案中的配置將會覆蓋hbase-default.xml中的配置

修改配置後要重啟hbase才會起作用

  • 啟動Hbase(此處以完全分散式為例

啟動zookeeper叢集

啟動hadoop(此處以偽分散式為例)

啟動Hbase:進入bin目錄,執行命令 sh start-hbase.sh

啟動備用master,實現高可用:進入bin目錄,執行命令 sh hbase-daemon.sh start master

  • 關閉Hbase:進入bin目錄,執行命令 sh stop-hbase.sh
  • 啟動客戶端:進入bin目錄,執行命令 ./hbase shell