Apache Ambari で構築したクラスタに HBase を追加でインストール

こちらの記事の続きになります。
[Apache Ambari でクラスタ構築](https://qiita.com/blueskyarea/items/4bf76de90e98c992b14e)

Apache Ambari で構築したクラスタに HBase を追加でインストールします。
今回もほぼ作業メモです。

#### ambari-server とambari-agent を起動
もし両サービスが起動していなければスタートします。

```
$ ambari-server start
(中略)
$ ambari-agent start
(中略)
```

#### HDFS サービスの起動

Ambari の Web インターフェースを開いて、既存サービスのステータスを確認します。
セットアップ環境に依存すると思いますが、私の環境では "DataNode" と "NameNode" が停止していたため、起動しておきました。
![0107ambari0.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63951/a58f04aa-0eca-c59a-aae5-20e8c0f1861b.png)

#### HBase サービスをインストール
Actions から "+ Add service" を選択します。
（何か画面上は警告だらけですが、一部のサービスが起動していないだけなので、取り合えず気にしないでおきます）
![0107ambari.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63951/76ae954a-9e1c-3e34-2b02-662d49826f0e.png)

HBase にチェックを入れます。
![0107ambari2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63951/a8b69663-4621-4a57-5bdb-da217a91b9a8.png)

HBase の Master サーバをアサインします。
（今は1台のサーバ host01.blueskyarea に全てのサービスがアサインされています）
![0107ambari3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63951/1b995d66-c4eb-b9e8-9fbf-d7f9cfeccdae.png)

HBase の Slave(RegionServer と Client)をアサインします。
![0107ambari4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63951/13166025-983c-1aaf-e386-fef29b98ce9a.png)

画面の指示に従って進めた後、インストールが開始されました。
![0107ambari5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63951/addb7704-289d-8006-322b-ab531c217f2d.png)

約10分後にインストールが完了しました。
![0107ambari6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63951/76428431-107e-4bba-c16b-bf84c13eb1d2.png)

”再起動マークが出ているサービスについては、再起動してね”と警告が出ています。
![0107ambari7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63951/1d191b11-3030-9c79-67ff-857a47690b8a.png)

"Ambari Metrics" に再起動マークが出ていたので、画面の指示に従い再起動しておきました。
![0107ambari8.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63951/0376d146-d7a7-15fb-b0c0-8baff7bd32ae.png)

肝心のサーバ内を確認してみると、以下のように HBase がインストールされていました。

```bash
$ ls /usr/bin/hbase 
/usr/bin/hbase
```

HBase のログについては、以下のディレクトリ以下に集約されています。

```bash
/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 のデータ格納先として、以下のディレクトリが生成されていました。

```bash
/apps/hbase/data
```

hbase shell の起動が重たく感じたりはしましたが、インストールは正常に出来たようです。
Ambari を使用せずに手動でインストールする際は、環境変数の設定など気を遣う場面がありますが、Ambari のインターフェースに任せればインストール作業自体はスムーズに進めることができました。