「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
次は、Java の API 使って Hbase の操作いろいろやってみたいと思います。
以上です。