本ドキュメントでは、E-MapReduce (EMR) クラスターにおける HiveServer および HiveMetaStore のヘルスチェック項目と主要な監視メトリクスについて説明します。
重要度レベル
| レベル | 意味 | 対応の必要性 |
|---|---|---|
| P0(重大) | Hive サービスが利用不可 | 直ちにトラブルシューティングを実施してください |
| P1(高) | Hive サービスは利用可能だが、パフォーマンスが低下している、またはワークロードが増加している | 直ちにトラブルシューティングを実施してください |
HiveServer の確認項目
HiveServer の可用性確認
一連の検証文を実行することで、HiveServer の可用性を確認します。
| エラーメッセージ | 原因 | アクション |
|---|---|---|
hive server availability permission check is failed | ユーザーが HiveServer の確認文を実行する権限を有していない(例:誤って権限が取り消された) | 必要な権限を復元してください |
Hive server availability is failed | HiveServer が異常 | HiveServer のプロセスおよびログを確認してください |
HiveServer の高可用性(HA)状態確認
すべての HiveServer コンポーネントの高可用性(HA)状態を確認します。
| 結果メッセージ | 状態 | 重要度 | 対応方法 |
|---|---|---|---|
Hive server HA status is OK | すべての HiveServer コンポーネントが正常 | — | 対応不要 |
One or more Hive server failed | 1 つ以上の HiveServer コンポーネントが異常 | P1 | HiveServer のプロセスおよびログを確認してください |
All Hive server are failed | すべての HiveServer コンポーネントが異常 | P0 | HiveServer のプロセスおよびログを確認してください |
HiveServer のポート確認
ホスト上で HiveServer のポート 10000 が存在するかを確認します。ポート 10000 が存在しない場合、HiveServer プロセスが異常です。HiveServer のプロセスおよびログを確認してください。
HiveServer の GC 状態確認
HiveServer の Java 仮想マシン(JVM)における memory.heap.usage メトリクスを確認します。
| JVM ヒープメモリ使用量 | 重要度 | 操作 |
|---|---|---|
| ≥ 95 % | P0 | 直ちに HiveServer のメモリを増加させてください。さもないと、HiveServer が再起動し、実行中のジョブが失敗する可能性があります。 |
| ≥ 90 % | P1 | 直ちに HiveServer のメモリを増加させてください。さもないと、HiveServer が再起動し、実行中のジョブが失敗する可能性があります。 |
| < 90 % | 正常 | 必要に応じて、業務要件に基づきメモリを調整してください。 |
HiveServer の再起動頻度確認
任意の 5 分間のタイムウィンドウ内における HiveServer の再起動頻度を監視します。
| 再起動動作 | 重要度 | 操作 |
|---|---|---|
| 5 分間で複数回の再起動 | P0 | 直ちに HiveServer のプロセスおよびログを確認してください |
| 5 分間で 1 回の再起動 | P1 | 直ちに HiveServer のプロセスおよびログを確認してください |
| 再起動なし | 正常 | 対応不要 |
HiveMetaStore の確認項目
HiveMetaStore の高可用性(HA)状態確認
すべての HiveMetaStore コンポーネントの高可用性(HA)状態を確認します。
| 結果メッセージ | 状態 | 重要度 | 操作 |
|---|---|---|---|
Hive metastore HA status is OK | すべての HiveMetaStore コンポーネントが正常 | — | 対応不要 |
One or more metastore failed | 1 つ以上の HiveMetaStore コンポーネントが異常 | P1 | 直ちに HiveMetaStore のプロセスおよびログを確認してください |
All Hive metastore are failed | すべての HiveMetaStore コンポーネントが異常 | P0 | 直ちに HiveMetaStore のプロセスおよびログを確認してください |
HiveMetaStore のポート確認
ホスト上で HiveMetaStore のポート 9083 が存在するかを確認します。ポート 9083 が存在しない場合、HiveMetaStore プロセスが異常です。直ちに HiveMetaStore のプロセスおよびログを確認してください。
HiveMetaStore の GC 状態確認
HiveMetaStore の Java 仮想マシン(JVM)における memory.heap.usage メトリクスを確認します。
| JVM ヒープメモリ使用量 | 重要度 | アクション |
|---|---|---|
| ≥ 95 % | P0 | 直ちに HiveMetaStore のメモリを増加させてください |
| ≥ 90 % | P1 | 直ちに HiveMetaStore のメモリを増加させてください |
| < 90 % | 正常 | 必要に応じて、業務要件に基づきメモリを調整してください。 |
HiveMetaStore の再起動頻度確認
任意の 5 分間のタイムウィンドウ内における HiveMetaStore の再起動頻度を監視します。
| 再起動動作 | 重要度 | 操作 |
|---|---|---|
| 5 分間で複数回の再起動 | P0 | 直ちに HiveMetaStore のプロセスおよびログを確認してください |
| 5 分間で 1 回の再起動 | P1 | 直ちに HiveMetaStore のプロセスおよびログを確認してください |
| 再起動なし | 正常 | 対応不要 |
HiveServer2 の主要監視メトリクス
これらのメトリクスは、EMR コンソールのクラスターの [監視] タブで確認できます。
| カテゴリ | メトリクス | 確認ポイント |
|---|---|---|
| セッション | OpenSessions、ActiveSessions | エラー発生時にオープンセッションまたはアクティブセッション数が急増している場合、メモリ圧迫が疑われます。業務要件に応じてメモリを調整してください。 |
| JVM | JVM MemHeapMax、ガーベジコレクション(GC)メトリクス | エラー発生時のタイムウィンドウにおける JVM メトリクスを確認し、メモリ増加の必要性を判断してください。 |
| タスク | PENDING タスク、ActiveRunTasksCalls、TasksCount メトリクス | PENDING タスク数が多数ある場合、HiveServer のメモリ不足、YARN リソースキューの競合、または大規模ジョブによるリソース消費が原因である可能性があります。たとえば、進行が一時停止したタスクが該当します。 |
HiveMetaStore の主要監視メトリクス
これらのメトリクスは、EMR コンソールのクラスターの [監視] タブで確認できます。
| カテゴリ | メトリクス | 確認ポイント |
|---|---|---|
| JVM | JVM MemHeapMax、GC メトリクス | エラー発生時のタイムウィンドウにおける JVM メトリクスを確認し、メモリ増加の必要性を判断してください。 |
| メタデータ操作 | GetTable 関連メトリクス、CreateTable Time | これらのメトリクスが継続的に増加している、または例外が発生している場合、HiveMetaStore のメモリボトルネックまたはバックエンドデータベースのパフォーマンス問題が疑われます。現在のメモリサイズに基づき HiveMetaStore のメモリを増加させるか、データベースクエリの実行時間に基づきバックエンドデータベースの仕様をスペックアップしてください。 |