1. 程式人生 > 其它 >hbase簡介與安裝

hbase簡介與安裝

目錄

HBase簡介

hbase是高可靠性、高效能、面行列、可伸縮、實時讀寫的NoSql分散式資料庫。

hbase主要儲存非結構化/半結構化的鬆散資料

hbase資料模型

1.NameSpace
  名稱空間,每個名稱空間下有多個表。hbase自帶兩個名稱空間,分別為hbase與default。hbase中存放的是hbase內建的表,default表是使用者預設使用的名稱空間。
2. Region
  hbase自動把表水平劃分成多個區域,每個Region會儲存每個表中某一段連續的資料。每張表開始只有一個Region,隨著資料不斷插入表,當增加閾值時,Region就會分成兩個新的region。

  • Region是hbase中分散式儲存和負載均衡的最小單元,不同的Region分佈在不同的RegionServer上。
  • Region有一個或多個store組成,每個store對應一個列簇。

3.RowKey
  hbase中的資料都是由一個rowkey與多個column組成的。資料是按照rowkey字典升序。最大長度是64KB,實際應用中長度一般為 10 ~ 100bytes。
4. Column
  在建表時,必須要指定一個列簇,一個列簇對應一個store。
5.時間戳
  資料寫入時,會自動指定時間戳,時間戳按照自然降序
6. Cell
  Cell 是由 {row key,column(=< family> + < label>),version} 唯一確定的 單元。Cell種的資料是沒有型別的,全部是位元組碼形式儲存。

hbase基本架構

  • Master:
    • 為regionserver分配region。
    • 負責RegionServer的負載均衡。
    • 發現失效的RegionServer並分配其上的Region。
    • 管理使用者對錶的增刪改操作。
  • RegionServer
    • 維護Region,處理對這些Region的IO請求。
    • 負責切分在執行中變得過大的Region
  • zookeeper
    • hbase通過zookeeper來做master的高可用、儲存元資料。
  • HDFS
    • 為hbase提供了最底層的儲存服務。hbase以Hfile的形式儲存在hdfs上。

hbase安裝

環境依賴

1.啟動hadoop
start-all.sh
2.啟動zookeeper需要在在三臺中分別啟動
zkServer.sh start
zkServer.sh status
3.上傳解壓配置環境變數(預設安裝目錄/usr/local/soft)
tar -xvf hbase-1.4.6-bin.tar.gz

修改配置檔案

4.修改hbase-env.sh檔案
增加java配置
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171

關閉預設zk配置
export HBASE_MANAGES_ZK=false
5.修改hbase-site.xml檔案

  <property> 
      <name>hbase.rootdir</name> 
      <value>hdfs://master:9000/hbase</value> 
   </property> 
   <property> 
      <name>hbase.cluster.distributed</name> 
      <value>true</value> 
   </property> 
   <property> 
      <name>hbase.zookeeper.quorum</name> 
      <value>node1,node2,master</value> 
   </property> 

6.修改regionservers檔案
增加
node1
node2
如果是偽分散式版本,增加master即可

7.同步到所有節點(如果是偽分散式不需要同步)

scp -r hbase-1.4.6/ node1:`pwd`
scp -r hbase-1.4.6/ node2:`pwd`

8.配置環境變數
vim /etc/profile
9.啟動hbase叢集 , 需要在master上執行
start-hbase.sh
10.驗證hbase
http://master:16010