「HBase」CentOS 上にインストールする

HBase を CentOS 上にインストールしてみました。その時のメモ。

[ 環境情報 ]
CentOS 6.2
HBase 0.94.16
Java SE 6 Update 34
※ 今回は standalone mode でやってみてます。


インストールといっても、圧縮ファイル落としてきて、展開するだけです。

wget http://ftp.tsukuba.wide.ad.jp/software/apache/hbase/stable/hbase-0.94.16.tar.gz
tar zxvf hbase-0.94.16.tar.gz

bin 配下の start-hbase.sh で起動できる。

$HBASE_HOME/bin/start-hbase.sh

※ 停止は「$HBASE_HOME/bin/stop-hbase.sh」です。

http://***.***.***.***:60010/master-status」で管理画面にアクセスできれば、無事インストール完了だと思います。


せっかくなので少しさわってみます。

■ シェルの起動 ( 以下のテーブル作成等はシェルを起動した状態で )

$HBASE_HOME/bin/hbase shell

■ テーブルの作成

create "table", "colfam"

■ データの投入

put "table", "row", "colfam:col", "value"

■ データの取得

get "table", "row", "colfam:col"
COLUMN                CELL
 colfam:col           timestamp=1392134917526, value=value

※ データと上書きすると・・・

put "table", "row", "colfam:col", "value1"
get "table", "row", "colfam:col"
COLUMN                CELL
 colfam:col           timestamp=1392135015536, value=value1

※ タイムスタンプを指定して取得することもできるみたい。

get "table", "row", {TIMESTAMP=>1392134917526}
COLUMN                CELL
 colfam:col           timestamp=1392134917526, value=value
get "table", "row", {TIMESTAMP=>1392135015536}
COLUMN                CELL
 colfam:col           timestamp=1392135015536, value=value1

■ テーブルのスキャン

put "table", "row", "colfam:col1", "value1"
scan "table"
ROW                   COLUMN+CELL
 row                  column=colfam:col, timestamp=1392135015536, value=value1
 row                  column=colfam:col1, timestamp=1392135971831, value=value1

ドキュメントはこの辺りです。

・Chapter 4. The Apache HBase Shell
https://hbase.apache.org/book/shell.html


僕は全然分散データベースとか詳しくないのですが ( 普段業務でも触ることはないんですが )、HBase のデータモデルは ( 上記で取得できてるデータとか見てみると )、
-----
テーブル ( 行 + 列 )
列 ( 行キー、カラム、セル )
カラム ( カラムファミリ + カラム名 )
セル ( タイムスタンプ、値 )
-----
みたいな感じですかねぇ ( だいぶ間違ってそうな気が・・・ )。

・Chapter 5. Data Model
https://hbase.apache.org/book/datamodel.html


次は、JavaAPI 使って Hbase の操作いろいろやってみたいと思います。

以上です。