コンテンツにスキップ

Hadoop HDFS DataNode

HDFS DataNode のメトリクス情報を収集します。

インストールとデプロイ

DataNode は Java で開発されているため、jmx-exporter を使ってメトリクス情報を収集できます。

1. DataNode の設定

1.1 jmx-exporter をダウンロード

ダウンロード先:https://github.com/prometheus/jmx_exporter

1.2 jmx スクリプトをダウンロード

ダウンロード先:https://github.com/lrwh/jmx-exporter/blob/main/hadoop-hdfs-datanode.yml

1.3 DataNode の起動パラメータを調整

datanode の起動パラメータに追加します

{{JAVA_GC_ARGS}} -javaagent:/opt/jmx/jmx_exporter-1.0.1.jar=localhost:17106:/opt/jmx/hadoop-hdfs-datanode.yml

1.4 DataNode を再起動

2. DataKit コレクタ設定

2.1 DataKit をインストール

2.2 コレクタを設定

jmx-exporter によりmetrics URL を直接公開できるため、prom コレクタで直接収集できます。

DataKit のインストールディレクトリ 配下の conf.d/samples に移動し、prom.conf.sampledatanode.conf にコピーします。

cp prom.conf.sample datanode.conf

datanode.conf の内容を次のように調整します。

  urls = ["http://localhost:17106/metrics"]
  source ="hdfs-datanode"
  [inputs.prom.tags]
    component = "hdfs-datanode" 
  interval = "10s"

その他の設定は必要に応じて調整してください

、パラメータの説明:

  • urls:jmx-exporter のメトリクスアドレス。ここには、対象コンポーネントが公開しているメトリクス URL を設定します
  • source:コレクタの別名。区別できるようにすることを推奨します
  • keep_exist_metric_name: メトリクス名を保持
  • interval:収集間隔
  • inputs.prom.tags: 追加タグを設定

3. DataKit を再起動

DataKit を再起動

メトリクス

Hadoop メトリクスセット

DataNode のメトリクスは Hadoop メトリクスセット配下にあり、ここでは主に DataNode 関連メトリクスを説明します。

Metrics 説明 単位
datanode_block_verification_failures データノードのブロック検証失敗回数 count
datanode_blocks_cached データノードがキャッシュしたブロック数 count
datanode_blocks_read データノードが読み取ったブロック数 count
datanode_blocks_removed データノードが削除したブロック数 count
datanode_blocks_replicated データノードが複製したブロック数 count
datanode_blocks_uncached データノードのキャッシュ解除済みブロック数 count
datanode_blocks_verified データノードが検証したブロック数 count
datanode_blocks_written データノードが書き込んだブロック数 count
datanode_bytes_read データノードが読み取ったバイト数 byte
datanode_bytes_written データノードが書き込んだバイト数 byte
datanode_cache_capacity データノードのキャッシュ容量 byte
datanode_cache_reports_avg_time データノードのキャッシュレポート平均時間 ms
datanode_cache_reports_num_ops データノードのキャッシュレポート実行回数 count
datanode_cache_used データノードの使用済みキャッシュ量 byte
datanode_capacity データノードの容量 count
datanode_data_node_active_xceivers_count データノードのアクティブな受信側数 count
datanode_datanode_network_errors データノードのネットワークエラー回数 count
datanode_dfs_used データノードの使用済み DFS 容量 byte
datanode_dropped_pub_all データノードでドロップされた公開メッセージ総数 count
datanode_estimated_capacity_lost データノードで推定された失われた容量 byte
datanode_flush_io_rate_avg_time データノードのフラッシュ I/O 平均時間 ms
datanode_flush_io_rate_num_ops データノードのフラッシュ I/O 実行回数 count
datanode_flush_nanos_avg_time データノードのフラッシュ操作平均時間(ナノ秒) ns
datanode_flush_nanos_num_ops データノードのフラッシュ操作回数 count
datanode_fsync_count データノードの fsync 操作回数 count
datanode_heartbeats_avg_time データノードのハートビート平均時間 ms
datanode_heartbeats_num_ops データノードのハートビート実行回数 count
datanode_heartbeats_total_avg_time データノードの総ハートビート平均時間 ms
datanode_heartbeats_total_num_ops データノードの総ハートビート実行回数 count
datanode_incremental_block_reports_avg_time データノードの増分ブロックレポート平均時間 ms
datanode_incremental_block_reports_num_ops データノードの増分ブロックレポート実行回数 count
datanode_lifelines_avg_time データノードのライフライン平均時間 ms
datanode_lifelines_num_ops データノードのライフライン実行回数 count
datanode_metadata_operation_rate_avg_time データノードのメタデータ操作平均時間 ms
datanode_metadata_operation_rate_num_ops データノードのメタデータ操作回数 count
datanode_num_active_sinks データノードのアクティブなシンク数 count
datanode_num_active_sources データノードのアクティブなソース数 count
datanode_num_all_sinks データノードの全シンク数 count
datanode_num_all_sources データノードの全ソース数 count
datanode_num_blocks_cached データノードがキャッシュしたブロック数 count
datanode_num_blocks_failed_to_cache データノードのキャッシュ失敗ブロック数 count
datanode_num_blocks_failed_to_un_cache データノードのキャッシュ解除失敗ブロック数 count
datanode_num_blocks_failed_to_uncache データノードのキャッシュ解除失敗ブロック数 count
datanode_num_failed_volumes データノードの失敗したボリューム数 count
datanode_publish_avg_time データノードの公開平均時間 ms
datanode_publish_num_ops データノードの公開実行回数 count
datanode_ram_disk_blocks_deleted_before_lazy_persisted データノードで遅延永続化前に削除された RAM ディスクブロック数 count
datanode_ram_disk_blocks_evicted データノードで追い出された RAM ディスクブロック数 count
datanode_ram_disk_blocks_read_hits データノードの RAM ディスクブロック読み取りヒット数 count
datanode_ram_disk_blocks_write データノードの RAM ディスクブロック書き込み回数 count
datanode_ram_disk_bytes_write データノードの RAM ディスク書き込みバイト数 byte
datanode_read_block_op_avg_time データノードのブロック読み取り操作平均時間 ms
datanode_read_block_op_num_ops データノードのブロック読み取り操作回数 count
datanode_read_io_rate_avg_time データノードの読み取り I/O 平均時間 ms
datanode_read_io_rate_num_ops データノードの読み取り I/O 実行回数 count
datanode_reads_from_local_client データノードのローカルクライアントからの読み取り回数 count
datanode_reads_from_remote_client データノードのリモートクライアントからの読み取り回数 count
datanode_remaining データノードの残容量 byte
datanode_remote_bytes_read データノードのリモート読み取りバイト数 byte
datanode_remote_bytes_written データノードのリモート書き込みバイト数 byte
datanode_replace_block_op_avg_time データノードのブロック置換操作平均時間 ms
datanode_replace_block_op_num_ops データノードのブロック置換操作回数 count
datanode_send_data_packet_blocked_on_network_nanos_avg_time データノードのデータパケット送信時のネットワーク待機平均時間(ナノ秒) ns
datanode_send_data_packet_blocked_on_network_nanos_num_ops データノードのデータパケット送信時のネットワーク待機回数 count
datanode_send_data_packet_transfer_nanos_avg_time データノードのデータパケット送信平均時間(ナノ秒) ns
datanode_send_data_packet_transfer_nanos_num_ops データノードのデータパケット送信回数 count
datanode_snapshot_avg_time データノードのスナップショット平均時間 ms
datanode_snapshot_num_ops データノードのスナップショット実行回数 count
datanode_sync_io_rate_avg_time データノードの同期 I/O 平均時間 ms
datanode_sync_io_rate_num_ops データノードの同期 I/O 実行回数 count
datanode_total_data_file_ios データノードの総データファイル I/O 回数 count
datanode_total_file_io_errors データノードの総ファイル I/O エラー回数 count
datanode_total_metadata_operations データノードの総メタデータ操作回数 count
datanode_total_read_time データノードの総読み取り時間 ms
datanode_total_write_time データノードの総書き込み時間 ms
datanode_volume_failures データノードのボリューム失敗回数 count
datanode_write_block_op_avg_time データノードのブロック書き込み操作平均時間 ms
datanode_write_block_op_num_ops データノードのブロック書き込み操作回数 count
datanode_write_io_rate_avg_time データノードの書き込み I/O 平均時間 ms
datanode_write_io_rate_num_ops データノードの書き込み I/O 実行回数 count
datanode_writes_from_local_client データノードのローカルクライアントからの書き込み回数 count
datanode_writes_from_remote_client データノードのリモートクライアントからの書き込み回数 count
datanode_xceiver_count データノードの受信側数 count
datanode_xmits_in_progress データノードで進行中の送信回数 count

フィードバック

このページは役に立ちましたか?