Cloudera Manager を使って、Hiveserver2 がダウンしたときにアラートメールを受け取る方法を紹介する。
環境
- Cloudera Manager (5.x 以降)
準備
アラートメールを受信するメールアドレスを設定するだけで、他に設定する必要はない。
アラートメールの受信アドレスの設定
Cloudera Management Service を開き、 設定 から 受信者 というキーワードで検索し、 アラート: メールメッセージの受信者 という設定項目に、アラートメールを受信したいメールアドレスを入力する。
設定を変更したらCloudera 管理サービスを再起動する。
アラートメールの一例
Hiveserver2 がダウンすると、以下のようなメールが送信される。
アラート送信のテストをしたければ、単純にプロセスを kill
すればいい。
リンクをクリックすれば Cloudera Manager の該当画面にジャンプすることができる。
OutOfMemoryError かどうかを確認する方法
OutOfMemoryError は Hiveserver2 ではしばしば起こりうる現象であるが、残念ながら現在のバージョンの Cloudera Manager ではメールに記載してくれない。(後述)
もし OOM を疑う場合は以下の場所から確認することができる。
Hive -> Hiveserver2 -> プロセス -> Stdout
プロセスの標準出力に、以下のメッセージが出力されていれば、OOM でダウンしたことがわかる。
# java.lang.OutOfMemoryError: Java heap space
なお、OOM そのものをアラートに出力する改善は近い将来実装されるので、上記のように確認する必要もなくなるだろう。