콘텐츠로 이동

Hadoop HDFS 데이터노드

HDFS 데이터노드 지표 정보를 수집합니다.

설치 및 배포

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: 추가 tag 지정

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 공간 btye
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

문서 평가

이 페이지가 도움이 되었나요?