このエントリでは、Mac上にHBaseをセットアップする手順のメモを残しておきます。

  • HBaseのセットアップ
  • HBase Shellからの動作確認

hbase:
https://hbase.apache.org/

(参考) 2.3.Intermediate - Pseudo-Distributed Local Install | Apache HBase Reference
https://hbase.apache.org/book.html#quickstart_pseudo

この手順の前提として、
homebrew及びjdk, hadoop, hdfsのセットアップは完了し、hdfsのnamendeは起動しているものとします。

hadoopとhdfsのセットアップについては、
以下エントリの「Hadoopとhdfsのセットアップ」を参考にしてください。

Mac上でのhiveセットアップ手順(mysql上にmetastoreを作成):
http://takemikami.com/2016/04/20/Machivemysqlmetastore.html

HBaseのセットアップ

homebrewを使ってHBaseをインストールし、
その後、擬似分散モードでHBaseを構成します。

インストール

以下のコマンドでHBaseをインストールします。

$ brew install hbase

HBaseの設定

hbase-site.xmlを以下のように変更します。

/usr/local/Cellar/hbase/1.1.2/libexec/conf/hbase-site.xml

<configuration>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://localhost:9000/hbase</value>
  </property>
</configuration>

※ポート番号は、hdfsの設定にあわせてください。

HBaseの起動

以下のコマンドでHBaseを起動します。
※停止する場合は stop-hbase.sh

$ start-hbase.sh

HBaseシェルの起動と確認

以下のコマンドを入力し、hbaseプロンプトが表示されることを確認します。

$ hbase shell
hbase> exit

以下のコマンドを入力し、hbaseのファイルが作成されていることを確認します。

$ hadoop fs -ls /hbase

HBase Shellからの動作確認

以下のコマンドを入力して、HBase Shellを起動します。

$ hbase shell

テーブルを作成する。

hbase> create 'test', 'cf'

テーブル一覧を問い合わせる。

hbase> list
TABLE                                                                                                                                                                                    
test                                                                                                                                                                                     
1 row(s) in 0.0170 seconds

=> ["test"]

テーブルにデータを設定する。

hbase> put 'test', 'row1', 'cf:a', 'value1'

テーブルをスキャン、データを取得する。

hbase> scan 'test'
ROW                                             COLUMN+CELL                                                                                                                              
 row1                                           column=cf:a, timestamp=1461209020857, value=value1                                                                                       
1 row(s) in 0.0380 seconds

hbase> get 'test', 'row1'
COLUMN                                          CELL                                                                                                                                     
 cf:a                                           timestamp=1461209020857, value=value1                                                                                                    
1 row(s) in 0.0270 seconds

テーブルを無効化、削除する。

hbase> disable 'test'
hbase> drop 'test'

これで、手元のMacでHBaseをいろいろといじることが出来るようになりました。