HBase 快速啟動教程

RecoReco發表於2019-02-27

HBase建立在Hadoop檔案系統(HDFS)之上的分散式、面向列的資料庫。

畢竟HBase是抄的Google的,因此,會有和Goolge的技術有一些對應關係:

  1. HBase作為Google Bigtable的開源實現
  2. Google Bigtable利用GFS作為其檔案儲存系統類似,則HBase利用Hadoop HDFS作為其檔案儲存系統
  3. Google通過執行MapReduce來處理Bigtable中的海量資料,同樣,HBase利用Hadoop MapReduce來處理HBase中的海量資料
  4. Google Bigtable利用Chubby作為協同服務,HBase利用Zookeeper作為對應。

安裝

下載http://apache.claz.org/hbase/2.0.1/並解壓:

tar xfz FILE
cd FILE
複製程式碼

設定配置

配置檔案在conf/hbase-site.xml內,貼上內容:

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///User/lcj/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/User/lcj/testuser/zookeeper</value>
  </property>
</configuration>
複製程式碼

到其中即可。其中的最後一級別目錄,無需自己建立,Hbase會自動建立的。

設定環境變數

在你啟動HBase之前,需要先設定JAVA_HOME環境變數。HBase提供了一箇中心機制 conf/hbase-env.sh,編輯此檔案,取消註釋以下行JAVA_HOME,並將其設定為您的作業系統的適當位置。如果是MAC的話,可以使用$(/usr/libexec/java_home)來查詢即可。

export JAVA_HOME=$(/usr/libexec/java_home)
複製程式碼

然後,啟動HBase:

conf/hbase-env.sh
複製程式碼

應該可以看到如下輸出:

running master, logging to /Users/lcj/Downloads/hbase-2.0.1/bin/../logs/hbase-lcj-master-july.local.out
複製程式碼

執行命令:

jps
複製程式碼

看到

37004 HMaster
複製程式碼

這說明HBase已經啟動。要是看不到,請看troubleshooting一節。

##驗證
使用HBase shell來驗證(啟動起來,還是有點慢,需要耐心):

./bin/hbase shell
複製程式碼

建立一個表。使用該“create”命令來建立一個新的表。您必須指定表名稱和ColumnFamily名稱:

create `test`, `cf`
複製程式碼

列出關於您的表的資訊,通過使用“list”命令來實現:

list `test`
複製程式碼

把資料放到你的表中

put `test`, `row1`, `cf:a`, `value1`
put `test`, `row2`, `cf:b`, `value2`
put `test`, `row3`, `cf:c`, `value3` 
複製程式碼

一次掃描表中的所有資料

scan `test`
複製程式碼

獲取一行的資料:

get `test`, `row1`
複製程式碼

刪除表:
drop `test`

停止服務:

./bin/stop-hbase.sh
複製程式碼

trouble shooting :

  1. 要是啟動hbase失敗,它並不會在命令列提示,而是在hbase-lcj-master-july.local.log內輸出錯誤訊息,因此需要留意此檔案內的錯誤。比如我曾經把conf/hbase-site.xml內的目錄配錯,導致hbase啟動不了。

查詢ip addr本地的方法:

ifconfig | grep "inet " | grep -Fv 127.0.0.1 | awk `{print $2}` 
複製程式碼

錯誤的處理:

zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL
複製程式碼

評價:這個安裝的方法,真的是一堆問題,放棄。!

相關文章