Hadoop HDFS NameNode¶
HDFS NameNode のメトリクス情報を収集します。
インストールとデプロイ¶
NameNode は Java で開発されているため、jmx-exporter を使ってメトリクスを収集できます。
1. NameNode の設定¶
1.1 jmx-exporter をダウンロード¶
ダウンロード先:https://github.com/prometheus/jmx_exporter
1.2 jmx スクリプトをダウンロード¶
ダウンロード先:https://github.com/lrwh/jmx-exporter/blob/main/hadoop-hdfs-namenode.yml
1.3 NameNode の起動パラメータ調整¶
namenode の起動パラメータに追加します。
{{JAVA_GC_ARGS}} -javaagent:/opt/jmx/jmx_exporter-1.0.1.jar=localhost:17107:/opt/jmx/hadoop-hdfs-namenode.yml
1.4 NameNode を再起動¶
2. DataKit コレクタ設定¶
2.1 DataKit をインストール¶
2.2 コレクタを設定¶
jmx-exporter で metrics URL を直接公開できるため、prom コレクタでそのまま収集できます。
DataKit のインストールディレクトリ の conf.d/samples に移動し、prom.conf.sample を namenode.conf にコピーします。
cp prom.conf.sample namenode.conf
namenode.conf の内容を次のように調整します。
urls = ["http://localhost:17107/metrics"]
source ="hdfs-namenode"
[inputs.prom.tags]
component = "hdfs-namenode"
interval = "10s"
その他の設定は必要に応じて調整してください
、調整パラメータの説明は次のとおりです。
- urls:
jmx-exporterのメトリクスアドレス。ここには対象コンポーネントが公開しているメトリクス URL を指定します - source:コレクタの別名。識別しやすい名前を推奨します
- keep_exist_metric_name: メトリクス名を保持します
- interval:収集間隔
- inputs.prom.tags: 追加の tag を設定します
3. DataKit を再起動¶
メトリクス¶
Hadoop メトリクスセット¶
NameNode のメトリクスは Hadoop メトリクスセットに含まれます。ここでは主に NameNode 関連メトリクスを説明します。
| Metrics | 説明 | 単位 |
|---|---|---|
namenode_add_block_ops |
ブロック追加操作回数 |
count |
namenode_allow_snapshot_ops |
スナップショット許可操作回数 |
count |
namenode_block_capacity |
ブロック容量 |
byte |
namenode_block_deletion_start_time |
ブロック削除開始時刻 |
count |
namenode_block_ops_batched |
バッチ処理されたブロック操作回数 |
count |
namenode_block_ops_queued |
キューに入ったブロック操作回数 |
count |
namenode_block_pool_used_space |
使用中のブロックプール領域 |
count |
namenode_block_received_and_deleted_ops |
受信して削除したブロック操作回数 |
count |
namenode_blocks |
ブロック数 |
count |
namenode_bytes_in_future_ecblock_groups |
将来の EC ブロックグループ内のバイト数 |
count |
namenode_bytes_in_future_replicated_blocks |
将来のレプリカブロック内のバイト数 |
count |
namenode_bytes_with_future_generation_stamps |
将来の世代スタンプを持つバイト数 |
count |
namenode_cache_capacity |
キャッシュ容量 |
byte |
namenode_cache_report_avg_time |
キャッシュレポート平均時間 |
count |
namenode_cache_report_num_ops |
キャッシュレポート操作回数 |
count |
namenode_cache_used |
使用済みキャッシュ |
count |
namenode_capacity |
容量 |
count |
namenode_capacity_remaining |
残容量 |
byte |
namenode_capacity_remaining_gb |
残容量(GB) |
GB |
namenode_capacity_total_gb |
総容量(GB) |
GB |
namenode_capacity_used |
使用済み容量 |
byte |
namenode_capacity_used_gb |
使用済み容量(GB) |
GB |
namenode_capacity_used_non_dfs |
DFS 以外で使用される容量 |
GB |
namenode_corrupt_blocks |
壊れたブロック |
count |
namenode_corrupt_ecblock_groups |
壊れた EC ブロックグループ |
count |
namenode_corrupt_replicated_blocks |
壊れたレプリカブロック |
count |
namenode_create_file_ops |
ファイル作成操作回数 |
count |
namenode_create_snapshot_ops |
スナップショット作成操作回数 |
count |
namenode_create_symlink_ops |
シンボリックリンク作成操作回数 |
count |
namenode_delete_file_ops |
ファイル削除操作回数 |
count |
namenode_delete_snapshot_ops |
スナップショット削除操作回数 |
count |
namenode_disallow_snapshot_ops |
スナップショット不許可操作回数 |
count |
namenode_distinct_version_count |
異なるバージョン数 |
count |
namenode_distinct_versions |
異なるバージョン |
count |
namenode_dropped_pub_all |
破棄された pub_all |
count |
namenode_elapsed_time |
経過時間 |
ms |
namenode_estimated_capacity_lost |
推定失われた容量 |
byte |
namenode_excess_blocks |
余分なブロック |
count |
namenode_expired_heartbeats |
期限切れのハートビート |
count |
namenode_file_info_ops |
ファイル情報操作回数 |
count |
namenode_files |
ファイル数 |
count |
namenode_files_appended |
追加されたファイル数 |
count |
namenode_files_deleted |
削除されたファイル数 |
count |
namenode_files_in_get_listing_ops |
リスト取得操作中のファイル数 |
count |
namenode_files_renamed |
名前変更されたファイル数 |
count |
namenode_files_truncated |
切り詰められたファイル数 |
count |
namenode_free |
空き |
count |
namenode_fs_image_load_time |
ファイルシステムイメージ読み込み時間 |
ms |
namenode_fs_lock_queue_length |
ファイルシステムロックキュー長 |
count |
namenode_gc_count |
GC 回数 |
count |
namenode_generate_edektime_avg_time |
EDEK 生成平均時間 |
ms |
namenode_generate_edektime_num_ops |
EDEK 生成操作回数 |
count |
namenode_get_additional_datanode_ops |
追加データノード取得操作回数 |
count |
namenode_highest_priority_low_redundancy_ecblocks |
優先度が最も高い低冗長 EC ブロック |
count |
namenode_highest_priority_low_redundancy_replicated_blocks |
優先度が最も高い低冗長レプリカブロック |
count |
namenode_last_checkpoint_time |
前回チェックポイント時刻 |
ms |
namenode_last_hatransition_time |
前回 HA 切り替え時刻 |
ms |
namenode_last_written_transaction_id |
最後に書き込まれたトランザクション ID |
count |
namenode_list_snapshottable_dir_ops |
スナップショット可能ディレクトリ一覧操作回数 |
count |
namenode_lock_queue_length |
ロックキュー長 |
count |
namenode_low_redundancy_ecblock_groups |
低冗長 EC ブロックグループ |
count |
namenode_low_redundancy_replicated_blocks |
低冗長レプリカブロック |
count |
namenode_max_objects |
最大オブジェクト数 |
count |
namenode_millis_since_last_loaded_edits |
前回 edit 読み込みからの経過ミリ秒 |
ms |
namenode_missing_blocks |
欠落ブロック |
count |
namenode_missing_ecblock_groups |
欠落 EC ブロックグループ |
count |
namenode_missing_repl_one_blocks |
1 つのレプリカが不足しているブロック |
count |
namenode_missing_replicated_blocks |
欠落レプリカブロック |
count |
namenode_missing_replication_one_blocks |
1 つのレプリカが不足しているレプリカブロック |
count |
namenode_nnstarted_time_in_millis |
起動時刻(ミリ秒) |
ms |
namenode_non_dfs_used_space |
DFS 以外で使用される空き容量 |
count |
namenode_num_active_clients |
アクティブクライアント数 |
count |
namenode_num_active_sinks |
アクティブ受信データノード数 |
count |
namenode_num_active_sources |
アクティブ送信データノード数 |
count |
namenode_num_all_sinks |
すべての受信データノード数 |
count |
namenode_num_all_sources |
すべての送信データノード数 |
count |
namenode_num_dead_data_nodes |
死亡データノード数 |
count |
namenode_num_decom_dead_data_nodes |
廃止済みの死亡データノード数 |
count |
namenode_num_decom_live_data_nodes |
廃止済みのアクティブデータノード数 |
count |
namenode_num_decommissioning_data_nodes |
廃止処理中のデータノード数 |
count |
namenode_num_edit_log_loaded_avg_count |
edit log 読み込み平均回数 |
count |
namenode_num_edit_log_loaded_num_ops |
edit log 読み込み操作回数 |
count |
namenode_num_encryption_zones |
暗号化ゾーン数 |
count |
namenode_num_entering_maintenance_data_nodes |
保守モードに入ったデータノード数 |
count |
namenode_num_files_under_construction |
構築中のファイル数 |
count |
namenode_num_in_maintenance_dead_data_nodes |
保守中の死亡データノード数 |
count |
namenode_num_in_maintenance_live_data_nodes |
保守中のアクティブデータノード数 |
count |
namenode_num_live_data_nodes |
アクティブデータノード数 |
count |
namenode_num_stale_data_nodes |
期限切れデータノード数 |
count |
namenode_num_stale_storages |
期限切れストレージ数 |
count |
namenode_num_timed_out_pending_reconstructions |
タイムアウトした再構築待ち数 |
count |
namenode_num_times_re_replication_not_scheduled |
再レプリケーション未スケジュール回数 |
count |
namenode_number_of_missing_blocks |
欠落ブロック数 |
count |
namenode_number_of_missing_blocks_with_replication_factor_one |
レプリケーション係数 1 の欠落ブロック数 |
count |
namenode_number_of_snapshottable_dirs |
スナップショット可能ディレクトリ数 |
count |
namenode_pending_data_node_message_count |
保留中データノードメッセージ数 |
count |
namenode_pending_deletion_blocks |
削除待ちブロック数 |
count |
namenode_pending_deletion_ecblocks |
削除待ち EC ブロック数 |
count |
namenode_pending_deletion_replicated_blocks |
削除待ちレプリカブロック数 |
count |
namenode_pending_reconstruction_blocks |
再構築待ちブロック数 |
count |
namenode_pending_replication_blocks |
レプリケーション待ちブロック数 |
count |
namenode_percent_block_pool_used |
ブロックプール使用率 |
percent |
namenode_percent_complete |
完了率 |
percent |
namenode_percent_remaining |
残り率 |
percent |
namenode_percent_used |
使用率 |
percent |
namenode_postponed_misreplicated_blocks |
延期された不整合ブロック数 |
count |
namenode_publish_avg_time |
公開平均時間 |
ms |
namenode_publish_num_ops |
公開操作回数 |
count |
namenode_put_image_avg_time |
イメージ保存平均時間 |
ms |
namenode_put_image_num_ops |
イメージ保存操作回数 |
count |
namenode_rename_snapshot_ops |
スナップショット名前変更操作回数 |
count |
namenode_resource_check_time_avg_time |
リソースチェック平均時間 |
ms |
namenode_resource_check_time_num_ops |
リソースチェック操作回数 |
count |
namenode_safe_mode |
セーフモード |
count |
namenode_safe_mode_count |
セーフモード回数 |
count |
namenode_safe_mode_elapsed_time |
セーフモード継続時間 |
count |
namenode_safe_mode_percent_complete |
セーフモード完了率 |
percent |
namenode_safe_mode_time |
セーフモード時間 |
ms |
namenode_saving_checkpoint |
チェックポイント保存 |
count |
namenode_saving_checkpoint_count |
チェックポイント保存回数 |
count |
namenode_saving_checkpoint_elapsed_time |
チェックポイント保存継続時間 |
ms |
namenode_saving_checkpoint_percent_complete |
チェックポイント保存完了率 |
count |
namenode_scheduled_replication_blocks |
スケジュール済みレプリケーションブロック数 |
count |
namenode_stale_data_nodes |
期限切れデータノード |
count |
namenode_storage_block_report_avg_time |
ストレージブロックレポート平均時間 |
ms |
namenode_storage_block_report_num_ops |
ストレージブロックレポート操作回数 |
count |
namenode_successful_re_replications |
再レプリケーション成功回数 |
count |
namenode_syncs_avg_time |
同期平均時間 |
ms |
namenode_syncs_num_ops |
同期操作回数 |
count |
namenode_tag_total_sync_times |
タグ総同期回数 |
count |
namenode_timeout_re_replications |
タイムアウトした再レプリケーション回数 |
count |
namenode_total_blocks |
総ブロック数 |
count |
namenode_total_ecblock_groups |
総 EC ブロックグループ数 |
count |
namenode_total_file_ops |
総ファイル操作回数 |
count |
namenode_total_load |
総負荷 |
count |
namenode_total_replicated_blocks |
総レプリカブロック数 |
count |
namenode_total_sync_count |
総同期回数 |
count |
namenode_total_sync_times |
総同期回数 |
count |
namenode_transactions_avg_time |
トランザクション平均時間 |
ms |
namenode_transactions_batched_in_sync |
同期バッチ処理トランザクション数 |
count |
namenode_transactions_num_ops |
トランザクション操作回数 |
count |
namenode_transactions_since_last_checkpoint |
前回チェックポイント以降のトランザクション数 |
count |
namenode_transactions_since_last_log_roll |
前回ログロール以降のトランザクション数 |
count |
namenode_under_replicated_blocks |
レプリカ不足ブロック数 |
count |
namenode_used |
使用済み |
count |
namenode_volume_failures |
ボリューム障害回数 |
count |
namenode_warm_up_edektime_avg_time |
ウォームアップ EDEK 平均時間 |
ms |
namenode_warm_up_edektime_num_ops |
ウォームアップ EDEK 操作回数 |
count |