こちらの記事の続きになります。
Apache Ambari でクラスタ構築
Apache Ambari で構築したクラスタに HBase を追加でインストールします。
今回もほぼ作業メモです。
ambari-server とambari-agent を起動
もし両サービスが起動していなければスタートします。
$ ambari-server start
(中略)
$ ambari-agent start
(中略)
HDFS サービスの起動
Ambari の Web インターフェースを開いて、既存サービスのステータスを確認します。
セットアップ環境に依存すると思いますが、私の環境では "DataNode" と "NameNode" が停止していたため、起動しておきました。
HBase サービスをインストール
Actions から "+ Add service" を選択します。
(何か画面上は警告だらけですが、一部のサービスが起動していないだけなので、取り合えず気にしないでおきます)
HBase の Master サーバをアサインします。
(今は1台のサーバ host01.blueskyarea に全てのサービスがアサインされています)
HBase の Slave(RegionServer と Client)をアサインします。
”再起動マークが出ているサービスについては、再起動してね”と警告が出ています。
"Ambari Metrics" に再起動マークが出ていたので、画面の指示に従い再起動しておきました。
肝心のサーバ内を確認してみると、以下のように HBase がインストールされていました。
$ ls /usr/bin/hbase
/usr/bin/hbase
HBase のログについては、以下のディレクトリ以下に集約されています。
/var/log/hbase/
hbase shell
hbase shell を起動し、基本的なコマンドで確認してみます。
$ hbase shell
hbase(main):001:0>
# テーブル作成
hbase(main):001:0> create 'test1', {NAME => 'data1'}
0 row(s) in 3.6630 seconds
=> Hbase::Table - test1
# テーブルチェック
hbase(main):002:0> list
TABLE
test1
1 row(s) in 0.0760 seconds
=> ["test1"]
# データをセットする
hbase(main):003:0> put 'test1','key1','data1','value1'
0 row(s) in 0.5460 seconds
# データを表示する
hbase(main):005:0> get 'test1','key1'
COLUMN CELL
data1: timestamp=1578407073555, value=value1
1 row(s) in 0.0380 seconds
# テーブルを truncate する
hbase(main):006:0> truncate 'test1'
Truncating 'test1' table (it may take a while):
- Disabling table...
- Truncating table...
0 row(s) in 4.3280 seconds
# データを表示する(削除されている)
hbase(main):007:0> get 'test1','key1'
COLUMN CELL
0 row(s) in 0.3200 seconds
# テーブルを削除する
hbase(main):009:0> disable 'test1'
0 row(s) in 2.3420 seconds
hbase(main):010:0> drop 'test1'
0 row(s) in 1.3140 seconds
hbase(main):011:0> list
TABLE
0 row(s) in 0.0180 seconds
=> []
hdfs 上では、HBase のデータ格納先として、以下のディレクトリが生成されていました。
/apps/hbase/data
hbase shell の起動が重たく感じたりはしましたが、インストールは正常に出来たようです。
Ambari を使用せずに手動でインストールする際は、環境変数の設定など気を遣う場面がありますが、Ambari のインターフェースに任せればインストール作業自体はスムーズに進めることができました。