Hadoop Yarn NodeManager¶
Yarn NodeManager のメトリクス情報を収集します。
インストールとデプロイ¶
NodeManager は Java で開発されているため、jmx-exporter を使ってメトリクス情報を収集できます。
1. NodeManager の設定¶
1.1 jmx-exporter をダウンロード¶
ダウンロード先:https://github.com/prometheus/jmx_exporter
1.2 jmx スクリプトをダウンロード¶
ダウンロード先:https://github.com/lrwh/jmx-exporter/blob/main/hadoop-yarn-nodemanager.yml
1.3 NodeManager の起動パラメータ調整¶
nodemanager の起動パラメータに次を追加します。
{{JAVA_GC_ARGS}} -javaagent:/opt/jmx/jmx_exporter-1.0.1.jar=localhost:17108:/opt/jmx/jmx_node_manager.yml
1.4 NodeManager を再起動¶
2. DataKit コレクタの設定¶
2.1 DataKit のインストール¶
2.2 コレクタの設定¶
jmx-exporter により metrics URL を直接公開できるため、prom コレクタでそのまま収集できます。
DataKit のインストールディレクトリ の conf.d/samples に移動し、prom.conf.sample を nodemanager.conf としてコピーします。
cp prom.conf.sample nodemanager.conf
nodemanager.conf の内容を次のように調整します。
urls = ["http://localhost:17108/metrics"]
source ="yarn-nodemanager"
[inputs.prom.tags]
component = "yarn-nodemanager"
interval = "10s"
その他の設定は必要に応じて調整してください
、各パラメータの説明:
- urls:
jmx-exporterのメトリクス URL。ここには、対象コンポーネントが公開するメトリクス URL を指定します - source:コレクタの別名。識別しやすい名前にすることを推奨します
- keep_exist_metric_name: メトリクス名を保持します
- interval:収集間隔
- inputs.prom.tags: 追加の tag
3. DataKit を再起動¶
メトリクス¶
Hadoop メトリクスセット¶
NodeManager のメトリクスは Hadoop メトリクスセットに含まれます。ここでは、NodeManager 関連のメトリクスを説明します。
| Metrics | 説明 | 単位 |
|---|---|---|
nodemanager_allocatedcontainers |
ノードマネージャーが割り当てたコンテナ数 |
count |
nodemanager_allocatedgb |
ノードマネージャーに割り当て済みの GB 数 |
count |
nodemanager_allocatedopportunisticgb |
ノードマネージャーが割り当て可能なオポチュニスティック GB 数 |
count |
nodemanager_allocatedopportunisticvcores |
ノードマネージャーが割り当て可能なオポチュニスティック vcores 数 |
count |
nodemanager_allocatedvcores |
ノードマネージャーに割り当て済みの vcores 数 |
count |
nodemanager_availablegb |
ノードマネージャーで利用可能な GB 数 |
count |
nodemanager_availablevcores |
ノードマネージャーで利用可能な vcores 数 |
count |
nodemanager_badlocaldirs |
ノードマネージャーの不良ローカルディレクトリ数 |
count |
nodemanager_badlogdirs |
ノードマネージャーの不良ログディレクトリ数 |
count |
nodemanager_blocktransferratebytes_count |
ノードマネージャーのブロック転送バイト数 |
byte |
nodemanager_blocktransferratebytes_rate1 |
ノードマネージャーのブロック転送バイト数の 1 分レート |
B/s |
nodemanager_blocktransferratebytes_rate15 |
ノードマネージャーのブロック転送バイト数の 15 分レート |
B/s |
nodemanager_blocktransferratebytes_rate5 |
ノードマネージャーのブロック転送バイト数の 5 分レート |
B/s |
nodemanager_blocktransferratebytes_ratemean |
ノードマネージャーのブロック転送バイト数の平均 |
byte |
nodemanager_cachesizebeforeclean |
クリーンアップ前のノードマネージャーキャッシュサイズ |
byte |
nodemanager_callqueuelength |
ノードマネージャーの呼び出しキュー長 |
count |
nodemanager_containerlaunchdurationavgtime |
ノードマネージャーのコンテナ起動平均時間 |
s |
nodemanager_containerlaunchdurationnumops |
ノードマネージャーのコンテナ起動操作回数 |
count |
nodemanager_containerscompleted |
ノードマネージャーの完了コンテナ数 |
count |
nodemanager_containersfailed |
ノードマネージャーの失敗コンテナ数 |
count |
nodemanager_containersiniting |
ノードマネージャーのコンテナ終了数 |
count |
nodemanager_containerskilled |
ノードマネージャーによって終了されたコンテナ数 |
count |
nodemanager_containerslaunched |
ノードマネージャーで起動済みのコンテナ数 |
count |
nodemanager_containersreiniting |
ノードマネージャーの再初期化中コンテナ数 |
count |
nodemanager_containersrolledbackonfailure |
失敗時にロールバックされたコンテナ数 |
count |
nodemanager_containersrunning |
ノードマネージャーの実行中コンテナ数 |
ms |
nodemanager_deferredrpcprocessingtimeavgtime |
ノードマネージャーの遅延 RPC 処理平均時間 |
s |
nodemanager_deferredrpcprocessingtimenumops |
ノードマネージャーの遅延 RPC 処理回数 |
count |
nodemanager_droppedpuball |
ノードマネージャーで破棄された puball |
count |
nodemanager_gccount |
ノードマネージャーの GC 回数 |
count |
nodemanager_gccountconcurrentmarksweep |
ノードマネージャーの ConcurrentMarkSweep GC 回数 |
count |
nodemanager_gccountparnew |
ノードマネージャーの ParNew GC 回数 |
count |
nodemanager_gcnuminfothresholdexceeded |
ノードマネージャーの INFO しきい値超過回数 |
count |
nodemanager_gcnumwarnthresholdexceeded |
ノードマネージャーの WARN しきい値超過回数 |
count |
nodemanager_gctimemillis |
ノードマネージャーの GC 時間(ミリ秒) |
ms |
nodemanager_gctimemillisconcurrentmarksweep |
ノードマネージャーの ConcurrentMarkSweep GC 時間(ミリ秒) |
ms |
nodemanager_gctimemillisparnew |
ノードマネージャーの ParNew GC 時間(ミリ秒) |
ms |
nodemanager_gctotalextrasleeptime |
ノードマネージャーの GC 総追加スリープ時間 |
s |
nodemanager_getgroupsavgtime |
ノードマネージャーのグループ取得平均時間 |
s |
nodemanager_getgroupsnumops |
ノードマネージャーのグループ取得操作回数 |
count |
nodemanager_goodlocaldirsdiskutilizationperc |
ノードマネージャーの正常なローカルディレクトリのディスク使用率 |
count |
nodemanager_logerror |
ノードマネージャーのエラーログ数 |
count |
nodemanager_logfatal |
ノードマネージャーの致命的ログ数 |
count |
nodemanager_loginfailureavgtime |
ノードマネージャーのログ書き込み失敗平均時間 |
ms |
nodemanager_loginfailurenumops |
ノードマネージャーのログ書き込み失敗回数 |
count |
nodemanager_loginfo |
ノードマネージャーの情報ログ数 |
count |
nodemanager_loginsuccessavgtime |
ノードマネージャーのログ書き込み成功平均時間 |
count |
nodemanager_loginsuccessnumops |
ノードマネージャーのログ書き込み成功回数 |
count |
nodemanager_logwarn |
ノードマネージャーの警告ログ数 |
count |
nodemanager_memheapcommittedm |
ノードマネージャーのコミット済みヒープメモリ量 |
count |
nodemanager_memheapmaxm |
ノードマネージャーの最大ヒープメモリ量 |
count |
nodemanager_memheapusedm |
ノードマネージャーの使用済みヒープメモリ量 |
count |
nodemanager_memmaxm |
ノードマネージャーの最大メモリ量 |
byte |
nodemanager_memnonheapcommittedm |
ノードマネージャーのコミット済み非ヒープメモリ量 |
count |
nodemanager_memnonheapmaxm |
ノードマネージャーの最大非ヒープメモリ量 |
count |
nodemanager_memnonheapusedm |
ノードマネージャーの使用済み非ヒープメモリ量 |
count |
nodemanager_numactiveconnections |
ノードマネージャーのアクティブ接続数 |
count |
nodemanager_numactivesinks |
ノードマネージャーのアクティブシンク数 |
count |
nodemanager_numactivesources |
ノードマネージャーのアクティブソース数 |
count |
nodemanager_numallsinks |
ノードマネージャーのシンク総数 |
count |
nodemanager_numallsources |
ノードマネージャーのソース総数 |
count |
nodemanager_numdroppedconnections |
ノードマネージャーの破棄された接続数 |
count |
nodemanager_numopenconnections |
ノードマネージャーのオープン接続数 |
count |
nodemanager_numregisteredconnections |
ノードマネージャーの登録済み接続数 |
count |
nodemanager_openblockrequestlatencymillis_count |
ノードマネージャーの OpenBlock リクエスト遅延回数 |
count |
nodemanager_openblockrequestlatencymillis_rate1 |
ノードマネージャーの OpenBlock リクエスト遅延レート 1 |
B/s |
nodemanager_openblockrequestlatencymillis_rate15 |
ノードマネージャーの OpenBlock リクエスト遅延レート 15 |
B/s |
nodemanager_openblockrequestlatencymillis_rate5 |
ノードマネージャーの OpenBlock リクエスト遅延レート 5 |
B/s |
nodemanager_openblockrequestlatencymillis_ratemean |
ノードマネージャーの OpenBlock リクエスト平均遅延レート |
B/s |
nodemanager_privatebytesdeleted |
ノードマネージャーで削除されたプライベートバイト数 |
byte |
nodemanager_publicbytesdeleted |
ノードマネージャーで削除されたパブリックバイト数 |
byte |
nodemanager_publishavgtime |
ノードマネージャーの公開平均時間 |
s |
nodemanager_publishnumops |
ノードマネージャーの公開操作回数 |
ms |
nodemanager_receivedbytes |
ノードマネージャーの受信バイト数 |
byte |
nodemanager_registeredexecutorssize |
ノードマネージャーに登録された executor 数 |
count |
nodemanager_registerexecutorrequestlatencymillis_count |
ノードマネージャーの executor 登録リクエスト遅延回数 |
count |
nodemanager_registerexecutorrequestlatencymillis_rate1 |
ノードマネージャーの executor 登録リクエスト遅延レート 1 |
B/s |
nodemanager_registerexecutorrequestlatencymillis_rate15 |
ノードマネージャーの executor 登録リクエスト遅延レート 15 |
B/s |
nodemanager_registerexecutorrequestlatencymillis_rate5 |
ノードマネージャーの executor 登録リクエスト遅延レート 5 |
B/s |
nodemanager_registerexecutorrequestlatencymillis_ratemean |
ノードマネージャーの executor 登録リクエスト遅延平均 |
count |
nodemanager_renewalfailures |
ノードマネージャーの更新失敗回数 |
count |
nodemanager_renewalfailurestotal |
ノードマネージャーの更新失敗総数 |
count |
nodemanager_rpcauthenticationfailures |
ノードマネージャーの RPC 認証失敗数 |
count |
nodemanager_rpcauthorizationsuccesses |
ノードマネージャーの RPC 認可成功数 |
count |
nodemanager_rpcclientbackoff |
ノードマネージャーの RPC クライアントバックオフ回数 |
count |
nodemanager_rpcprocessingtimeavgtime |
ノードマネージャーの RPC 処理平均時間 |
s |
nodemanager_rpcprocessingtimenumops |
ノードマネージャーの RPC 処理回数 |
count |
nodemanager_rpcqueuetimeavgtime |
ノードマネージャーの RPC キュー時間平均 |
count |
nodemanager_rpcqueuetimenumops |
ノードマネージャーの RPC キュー時間回数 |
count |
nodemanager_rpcslowcalls |
ノードマネージャーの RPC 遅延呼び出し数 |
count |
nodemanager_runningopportunisticcontainers |
ノードマネージャーで実行中のオポチュニスティックコンテナ数 |
count |
nodemanager_securityenabled |
ノードマネージャーのセキュリティ有効数 |
count |
nodemanager_sentbytes |
ノードマネージャーの送信バイト数 |
byte |
nodemanager_shuffleconnections |
ノードマネージャーの Shuffle 接続数 |
count |
nodemanager_shuffleoutputbytes |
ノードマネージャーの Shuffle 出力バイト数 |
byte |
nodemanager_shuffleoutputsfailed |
ノードマネージャーの Shuffle 出力失敗数 |
count |
nodemanager_shuffleoutputsok |
ノードマネージャーの Shuffle 出力成功数 |
count |
nodemanager_snapshotavgtime |
ノードマネージャーのスナップショット平均時間 |
s |
nodemanager_snapshotnumops |
ノードマネージャーのスナップショット操作回数 |
count |
nodemanager_threadsblocked |
ノードマネージャーのブロック中スレッド数 |
count |
nodemanager_threadsnew |
ノードマネージャーの新規スレッド数 |
count |
nodemanager_threadsrunnable |
ノードマネージャーの実行可能スレッド数 |
count |
nodemanager_threadsterminated |
ノードマネージャーの終了済みスレッド数 |
count |
nodemanager_threadstimedwaiting |
ノードマネージャーの待機時間 |
s |
nodemanager_threadswaiting |
ノードマネージャーの待機中スレッド数 |
count |
nodemanager_totalbytesdeleted |
ノードマネージャーの削除済み総バイト数 |
byte |