Hadoop Yarn ResourceManager¶
Yarn ResourceManager のメトリクス情報を収集します。
インストールとデプロイ¶
ResourceManager は Java で開発されているため、jmx-exporter を使ってメトリクス情報を収集できます。
1. ResourceManager の設定¶
1.1 jmx-exporter をダウンロード¶
ダウンロード先:https://github.com/prometheus/jmx_exporter
1.2 jmx スクリプトをダウンロード¶
ダウンロード先:https://github.com/lrwh/jmx-exporter/blob/main/hadoop-yarn-resourcemanager.yml
1.3 ResourceManager の起動パラメータを調整¶
resourcemanager の起動パラメータに以下を追加します。
{{JAVA_GC_ARGS}} -javaagent:/opt/jmx/jmx_exporter-1.0.1.jar=localhost:17109:/opt/jmx/jmx_resource_manager.yml
1.4 ResourceManager を再起動¶
2. DataKit 収集器の設定¶
2.1 DataKit をインストール¶
2.2 収集器を設定¶
jmx-exporter により metrics URL を直接公開できるため、prom 収集器を使って直接収集できます。
DataKit インストールディレクトリ の conf.d/samples に移動し、prom.conf.sample を resourcemanager.conf にコピーします。
cp prom.conf.sample resourcemanager.conf
resourcemanager.conf の内容を次のように調整します。
urls = ["http://localhost:17109/metrics"]
source ="yarn-resourcemanager"
[inputs.prom.tags]
component = "yarn-resourcemanager"
interval = "10s"
その他の設定は必要に応じて調整してください
、パラメータの説明は次のとおりです。
- urls:
jmx-exporterのメトリクス URL。ここには対象コンポーネントが公開しているメトリクス URL を記入します - source:収集器の別名。識別しやすい名前を推奨します
- keep_exist_metric_name: メトリクス名を保持します
- interval:収集間隔
- inputs.prom.tags: 追加の tag を設定します
3. DataKit を再起動¶
メトリクス¶
Hadoop メトリクスセット¶
ResourceManager のメトリクスは Hadoop メトリクスセットの下にあります。ここでは主に ResourceManager 関連メトリクスの説明を紹介します。
| Metrics | 説明 | 単位 |
|---|---|---|
resourcemanager_activeapplications |
ResourceManager のアプリケーション数 |
count |
resourcemanager_activeusers |
ResourceManager のアクティブユーザー数 |
count |
resourcemanager_aggregatecontainersallocated |
ResourceManager が割り当てたコンテナ数 |
count |
resourcemanager_aggregatecontainerspreempted |
ResourceManager によりプリエンプトされたコンテナ数 |
count |
resourcemanager_aggregatecontainersreleased |
ResourceManager が解放したコンテナ数 |
count |
resourcemanager_aggregatememorymbsecondspreempted |
プリエンプトされたコンテナの 1 秒あたりのメモリ消費量 |
B/s |
resourcemanager_aggregatenodelocalcontainersallocated |
すべてのノード上でローカル実行されるコンテナ数 |
count |
resourcemanager_aggregateoffswitchcontainersallocated |
ResourceManager が割り当てたオフスイッチコンテナ数 |
count |
resourcemanager_aggregateracklocalcontainersallocated |
ローカルコンテナのラック数の集計 |
count |
resourcemanager_aggregatevcoresecondspreempted |
ResourceManager の CPU 使用量 |
byte |
resourcemanager_allocatedcontainers |
ResourceManager がアプリケーションに割り当てたコンテナ数 |
count |
resourcemanager_allocatedmb |
ResourceManager が割り当てたメモリサイズ |
B/s |
resourcemanager_allocatedvcores |
ResourceManager が割り当てた CPU コア数 |
count |
resourcemanager_amlaunchdelayavgtime |
アプリケーション起動遅延の平均時間 |
ms |
resourcemanager_amlaunchdelaynumops |
アプリケーション起動遅延回数 |
count |
resourcemanager_amregisterdelayavgtime |
ResourceManager 登録の平均遅延時間 |
ms |
resourcemanager_amregisterdelaynumops |
ResourceManager 登録遅延回数 |
s |
resourcemanager_amresourceusagemb |
NodeManager のコンテナ起動操作回数 |
count |
resourcemanager_amresourceusagevcores |
NodeManager で完了したコンテナ数 |
count |
resourcemanager_appattemptfirstcontainerallocationdelayavgtime |
NodeManager のコンテナ失敗数 |
count |
resourcemanager_appattemptfirstcontainerallocationdelaynumops |
NodeManager のコンテナ終了数 |
count |
resourcemanager_appscompleted |
NodeManager のコンテナ実行数 |
count |
resourcemanager_appsfailed |
ResourceManager のアプリケーション失敗数 |
count |
resourcemanager_appskilled |
ResourceManager のアプリケーション終了数 |
count |
resourcemanager_appspending |
実行待ちのアプリケーション数 |
count |
resourcemanager_appsrunning |
実行中のアプリケーション数 |
count |
resourcemanager_appssubmitted |
ResourceManager に送信されたアプリケーション数 |
count |
resourcemanager_availablemb |
ResourceManager の利用可能メモリ総量 |
count |
resourcemanager_availablevcores |
ResourceManager の利用可能 CPU コア数 |
count |
resourcemanager_callqueuelength |
ResourceManager の呼び出しキュー長 |
count |
resourcemanager_continuousschedulingrunavgtime |
ResourceManager の継続スケジューリング実行平均時間 |
ms |
resourcemanager_continuousschedulingrunimaxtime |
ResourceManager の継続スケジューリング実行最大時間 |
ms |
resourcemanager_continuousschedulingrunimintime |
ResourceManager の継続スケジューリング実行最小時間 |
ms |
resourcemanager_continuousschedulingruninumops |
ResourceManager の継続スケジューリング操作回数 |
count |
resourcemanager_continuousschedulingrunmaxtime |
ResourceManager の継続スケジューリング実行最大時間 |
ms |
resourcemanager_continuousschedulingrunmintime |
ResourceManager の継続スケジューリング実行最小時間 |
ms |
resourcemanager_continuousschedulingrunnumops |
ResourceManager の継続スケジューリング操作回数 |
count |
resourcemanager_deferredrpcprocessingtimenumops |
ResourceManager の遅延 RPC 処理時間の操作回数 |
count |
resourcemanager_droppedpuball |
ResourceManager の puball 破棄回数 |
count |
resourcemanager_fairsharemb |
ResourceManager のメモリ割り当て量 |
count |
resourcemanager_fairsharevcores |
ResourceManager の CPU コア割り当て数 |
count |
resourcemanager_gccount |
ResourceManager のガベージコレクション回数 |
count |
resourcemanager_gccountconcurrentmarksweep |
ガベージコレクションのマークスイープ回数 |
count |
resourcemanager_gccountparnew |
ParNew ガベージコレクタ数 |
ms |
resourcemanager_gcnuminfothresholdexceeded |
ResourceManager の GC 収集情報がしきい値を超えた回数 |
count |
resourcemanager_gcnumwarnthresholdexceeded |
ResourceManager の GC 停止がしきい値を超えた回数 |
count |
resourcemanager_gctimemillis |
GC の開始から完了までの最終時間 |
ms |
resourcemanager_gctimemillisconcurrentmarksweep |
NodeManager のログ書き込み成功操作回数 |
count |
resourcemanager_gctimemillisparnew |
ParNew の開始から完了までの時間 |
ms |
resourcemanager_gctotalextrasleeptime |
ResourceManager の追加総スリープ時間 |
ms |
resourcemanager_getgroupsavgtime |
ResourceManager のグループ取得平均時間 |
count |
resourcemanager_logerror |
NodeManager が使用しているヒープメモリ数 |
count |
resourcemanager_logfatal |
NodeManager の最大メモリ値 |
byte |
resourcemanager_loginfailureavgtime |
ResourceManager のログイン失敗平均時間 |
ms |
resourcemanager_loginfailurenumops |
ResourceManager のログイン失敗回数 |
count |
resourcemanager_loginfo |
ResourceManager のログ情報数 |
count |
resourcemanager_loginsuccessavgtime |
ResourceManager のログイン成功平均時間 |
ms |
resourcemanager_loginsuccessnumops |
ResourceManager のログイン成功回数 |
count |
resourcemanager_logwarn |
ResourceManager の警告ログ数 |
count |
resourcemanager_maxamsharemb |
ResourceManager の最大 AM リソース使用量 |
byte |
resourcemanager_maxamsharevcores |
ResourceManager の最大共有 CPU コア数 |
count |
resourcemanager_maxapps |
ResourceManager の最大アプリケーション数 |
count |
resourcemanager_memheapcommittedm |
ResourceManager が割り当て済みのメモリサイズ |
byte |
resourcemanager_memheapmaxm |
ResourceManager の最大メモリ量 |
byte |
resourcemanager_memheapusedm |
ResourceManager が使用済みのメモリ量 |
byte |
resourcemanager_memmaxm |
ResourceManager のメモリ最大値 |
byte |
resourcemanager_memnonheapcommittedm |
ResourceManager が割り当て予定のメモリサイズ |
byte |
resourcemanager_memnonheapmaxm |
ResourceManager の割り当て予定最大メモリ量 |
byte |
resourcemanager_memnonheapusedm |
ResourceManager が割り当て予定の使用済みメモリ量 |
byte |
resourcemanager_minsharemb |
ResourceManager の最小リソース量 |
count |
resourcemanager_minsharevcores |
ResourceManager の最小 CPU コア数 |
byte |
resourcemanager_nodeheartbeatavgtime |
ResourceManager のノードハートビート平均時間 |
s |
resourcemanager_nodeheartbeatnumops |
ResourceManager のノードハートビート回数 |
count |
resourcemanager_nodeupdatecallavgtime |
ResourceManager のノード更新応答平均時間 |
s |
resourcemanager_nodeupdatecallimaxtime |
ResourceManager のノード応答最大時間 |
s |
resourcemanager_nodeupdatecallimintime |
ResourceManager のノード更新応答最小時間 |
s |
resourcemanager_nodeupdatecallinumops |
ResourceManager のノード更新応答回数 |
count |
resourcemanager_numactivenms |
ResourceManager で現在稼働中の NodeManager 数 |
count |
resourcemanager_numactivesinks |
ResourceManager で現在稼働中の sink 数 |
count |
resourcemanager_numactivesources |
ResourceManager で稼働中のリソース数 |
count |
resourcemanager_numallsinks |
ResourceManager の全 sink 数 |
count |
resourcemanager_numallsources |
ResourceManager の全リソースデータ量 |
count |
resourcemanager_numdecommissionednms |
ResourceManager の退役済みノード数 |
count |
resourcemanager_numdecommissioningnms |
ResourceManager で退役中のノード数 |
count |
resourcemanager_numdroppedconnections |
ResourceManager で破棄された接続数 |
count |
resourcemanager_numlostnms |
ResourceManager の失われたノード数 |
count |
resourcemanager_numopenconnections |
ResourceManager の開放接続数 |
count |
resourcemanager_numrebootednms |
ResourceManager の再起動ノード数 |
count |
resourcemanager_numshutdownnms |
ResourceManager のシャットダウンノード数 |
count |
resourcemanager_numunhealthynms |
ResourceManager の正常でないノード数 |
count |
resourcemanager_pendingcontainers |
ResourceManager で割り当て待ちのコンテナ数 |
count |
resourcemanager_pendingmb |
ResourceManager で割り当て待ちのリソース数 |
count |
resourcemanager_pendingvcores |
ResourceManager で割り当て待ちの CPU コア数 |
count |
resourcemanager_publishavgtime |
ResourceManager のデータ公開平均時間 |
s |
resourcemanager_rpcprocessingtimeavgtime |
ResourceManager の RPC 実行平均時間 |
s |
resourcemanager_rpcprocessingtimenumops |
ResourceManager の実行回数 |
count |
resourcemanager_rpcqueuetimeavgtime |
ResourceManager の RPC 応答平均時間 |
count |
resourcemanager_rpcqueuetimenumops |
ResourceManager の RPC 応答操作回数 |
count |
resourcemanager_rpcslowcalls |
ResourceManager の RPC スローコール時間 |
s |
resourcemanager_running_0 |
0 秒実行中のアプリケーション数 |
count |
resourcemanager_running_1440 |
1440 秒実行中のアプリケーション数 |
count |
resourcemanager_running_300 |
300 秒実行中のアプリケーション数 |
count |
resourcemanager_running_60 |
60 秒実行中のアプリケーション数 |
count |
resourcemanager_securityenabled |
ResourceManager のセキュリティ機構有効数 |
count |
resourcemanager_sentbytes |
ResourceManager が送信したバイト数 |
byte |
resourcemanager_snapshotavgtime |
ResourceManager のデータスナップショット平均時間 |
s |
resourcemanager_snapshotnumops |
ResourceManager のデータスナップショット操作回数 |
count |
resourcemanager_steadyfairsharemb |
ResourceManager の加重共有メモリ量 |
byte |
resourcemanager_steadyfairsharevcores |
ResourceManager の加重共有 CPU コア数 |
count |
resourcemanager_threadsblocked |
ResourceManager のスレッドロック数 |
count |
resourcemanager_threadsnew |
ResourceManager の新規スレッド数 |
count |
resourcemanager_threadsrunnable |
ResourceManager の実行中スレッド数 |
count |
resourcemanager_threadsterminated |
ResourceManager の終了スレッド数 |
count |
resourcemanager_threadstimedwaiting |
ResourceManager のタイムアウト待機中スレッド数 |
count |
resourcemanager_threadswaiting |
ResourceManager の待機スレッド数 |
count |
resourcemanager_updatethreadrunavgtime |
ResourceManager の更新スレッド平均時間 |
s |
resourcemanager_updatethreadrunimaxtime |
ResourceManager のスレッド更新最大時間 |
s |
resourcemanager_updatethreadrunimintime |
ResourceManager のスレッド更新最小時間 |
s |
resourcemanager_updatethreadruninumops |
ResourceManager のスレッド更新操作回数 |
count |
resourcemanager_updatethreadrunmaxtime |
ResourceManager のスレッド更新最大時間 |
s |
resourcemanager_updatethreadrunmintime |
ResourceManager のスレッド更新最小時間 |
s |
resourcemanager_updatethreadrunnumops |
ResourceManager のスレッド更新操作回数 |
count |