Hiveserver2 がダウンしたらアラートメールを受け取る方法


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 そのものをアラートに出力する改善は近い将来実装されるので、上記のように確認する必要もなくなるだろう。