この記事では、HBaseのリアルタイムモニタリングツールhbtop
を紹介したいと思います。
hbtopとは
hbtop
は、Unixのtopコマンドライクなツールで、リアルタイムにHBaseのメトリクスを表示することができます。メトリクスは、Region/Namespace/Table/RegionServer単位で表示することができ、メトリクスの値によるソートやフィルタリングをすることもできます。また、ドリルダウン機能によりHot Regionを簡単に探すことができます。
hbtopは、HBase2系だと2.1.7、2.2.2のリリースから含まれており、hbase1系では1.3.6、1.4.11、1.5.0から含まれています。
以下のコマンドで、hbtopを起動することができます。
$ hbase hbtop
hbtopを起動すると、以下のような画面が表示されます。
この画面は、上部のサマリ部分と下部のメトリクス部分で構成されています。サマリ部分ではHBaseのバージョンやクラスタID、RegionServer数などを見ることができます。また、メトリクス部分では、選んだモードによってRegion/Namespace/Table/RegionServer毎のメトリクスを見ることができます。そして、この画面はデフォルトで3秒ごとにリフレッシュされます。
また、以下のように、メトリクス部分をスクロールすることもできます。
コマンドライン引数
hbtopを起動するときに、以下のコマンドライン引数を指定することができます。
Argument | Description |
---|---|
-d,--delay | リフレッシュ間隔。デフォルト3秒 |
-h,--help | ヘルプを表示。 |
-m,--mode | 初期モード。n (Namespaceモード)、t (Tableモード)、r (Regionモード)、s (RegionServerモード), デフォルトは r (Regionモード)。 |
モードの変更
以下のように、画面上でm
キーを押すことでモードを変更することができます。
NameSpace毎にメトリクスを表示するNamespaceモード、Table毎にメトリクスを表示するTableモード、Region毎にメトリクスを表示するRegionモード、RegionServer毎にメトリクスを表示するRegionServerモードがあります。
リフレッシュ間隔の変更
以下のように、画面上でd
キーを押すことでリフレッシュ間隔の変更をすることができます。
メトリクスの表示/非表示
表示するメトリクスの表示/非表示を選択することができます。以下のように、画面上でf
キーを押し、表示/非表示を切り替えたいメトリクスを選択しd
キーかスペース
キーを押すことで切り替えることができます。
ソートするメトリクスの変更
ソートするメトリクスの変更するには、画面上でf
キーを押し、ソートするメトリクスを選択しs
キーを押します。また、画面上でR
キーを押すことで昇順/降順を切り替えることができます。
表示メトリクスの並び替え
表示しているメトリクスの順番を変えたい場合には、画面上でf
キーを押し、順番を変えたいメトリクスを選択しright
キーを押します。そして、順番を変えたい場所まで移動させleft
キーを押します。
フィルタ
フィルタを追加することで、条件にマッチしたレコードだけを表示することができます。o
キー(ignoring case)かO
キー(case sensitive)を押すことでフィルタを追加できます。
フィルタのシンタックスは以下のようになります。
<Field><Operator><Value>
例として以下のようなフィルタが指定できます。
NAMESPACE==default
REQ/S>1000
Operatorとしては、以下が指定できます。
Operator | Description |
---|---|
= | Partial match |
== | Exact match |
> | Greater than |
>= | Greater than or equal to |
< | Less than |
<= | Less than and equal to |
また、Ctrl + o
キーを押すことで現在指定されているフィルタを表示することができ、=
キーを押すことでフィルタをクリアすることができます。
ドリルダウン
ドリルダウン機能を使うためには、ドリルダウンしたいレコードを選択し、i
キーを押します。
Namespaceモードの場合はTableモードにドリルダウンされ、Tableモードの場合はRegionモードにドリルダウンされます。また、RegionServerモードの場合にはRegionモードにドリルダウンされます。
ヘルプ画面の表示
まとめ
今回は、HBaseのリアルタイムモニタリングツールであるhbtopを紹介しました。もっと詳細を知りたい方は、以下の参考資料をご覧ください。
- HBASE-11062 hbtop, https://issues.apache.org/jira/browse/HBASE-11062
- Introduction "hbtop", a real-time monitoring tool for HBase modeled after Unix's 'top' command, https://blogs.apache.org/hbase/entry/introduction-hbtop-a-real-time
- Apache HBase Reference Guide - hbtop, https://hbase.apache.org/book.html#hbtop