HBase は列指向、分散データベースです。
スケーラブルで信頼性のあるデータベースを構築することができます。
基本的なこと
- HBaseには3つのモードがある
- スタンドアロン(Standalone)
- 擬似分散モード(Pseudo-Distributed)
- 完全分散モード(Fully-distributed)
環境
Mac OS X 10.9.4 HBase 0.96.2
インストール
$ brew install hbase
スタンドアロンモード(Standalone mode)
スタンドアロンモードでは、HDFSは使用せず、ローカルのファイルシステムを使います。
Hbaseを起動する
$ start-hbase.sh
starting master, logging to /usr/local/opt/hbase/libexec/logs/hbase-example.out
これでHBaseのインスタンスが実行中になります。
マスタの状態をブラウザで確認してみる
HBase RESTサーバを起動する
$ hbase rest start
ブラウザで確認する
何もデータがないので真っ白な画面が表示されます。
HBase Shellを起動する
シェル上でインタラクティブにHBaseを操作することができます。
$ hbase shell hbase(main):001:0> create 'test', 'cf' 0 row(s) in 12.1800 seconds => Hbase::Table - test hbase(main):002:0> list TABLE test 1 row(s) in 0.0180 seconds => ["test"] hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1' 0 row(s) in 0.0800 seconds hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2' 0 row(s) in 0.0130 seconds hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3' 0 row(s) in 0.0100 seconds hbase(main):006:0> scan 'test' ROW COLUMN+CELL row1 column=cf:a, timestamp=1409547674466, value=value1 row2 column=cf:b, timestamp=1409547676790, value=value2 row3 column=cf:c, timestamp=1409547679057, value=value3 3 row(s) in 0.0410 seconds hbase(main):007:0> get 'test', 'row1' COLUMN CELL cf:a timestamp=1409547674466, value=value1 1 row(s) in 0.0310 seconds hbase(main):008:0> disable 'test' 0 row(s) in 5.3660 seconds hbase(main):009:0> drop 'test' 0 row(s) in 5.3450 seconds hbase(main):010:0>
HBaseを停止する
$ stop-hbase.sh stopping hbase..................
擬似分散モード(Pseudo-Distributed mode)
すべてのデーモンが単一のノードで実行されます。
Hadoop環境を構築する
HBase は Hadoop に依存しているので、分散モードではHadoopの環境を用意する必要があります。
Mac OS XにHadoop環境を構築する - kzy52's blog
設定ファイル
$ cd /usr/local/opt/hbase/libexec/conf
# hbase-env.sh export HBASE_CLASSPATH=/usr/local/opt/hadoop/libexec/etc/hadoop
# hbase-site.xml <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <!-- 実行中の Hadoop HDFS インスタンスを指定する --> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> <description>The directory shared by region servers. </description> </property> <!-- 疑似分散モードでの推奨設定 --> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
# ~/.zshrc or ~/.bashrc export HBASE_HOME=/usr/local/opt/hbase/libexec export PATH=$HBASE_HOME/bin:$PATH
$ source ~/.zshrc
起動する
$ start-hbase.sh
動作確認する
$ hbase shell
Hadoopの管理画面を確認する
以上、スタンドアロン、擬似分散モードの環境構築方法でした。
完全分散モードはまた次回で。