MapReduce

Supported OS Linux Windows Mac OS

통합 버전7.0.0

MapReduce Dashboard

개요

mapreduce 서비스에서 실시간으로 메트릭을 받아 다음을 수행할 수 있습니다.

  • mapreduce 상태 시각화 및 모니터링
  • mapreduce 장애 조치 및 이벤트에 대한 알림 확인

설정

설치

MapReduce 점검은 Datadog Agent 패키지에 포함되어 있으므로 서버에 별도로 설치할 필요가 없습니다.

설정

호스트

호스트에서 실행 중인 에이전트에 이 점검을 구성하는 방법:

  1. Agent 구성 디렉터리 루트에서 conf.d/ 폴더에 있는 mapreduce.d/conf.yaml 파일을 편집하여 서버와 포트를 지정하고 모니터링할 마스터를 설정하세요. 사용 가능한 모든 구성 옵션은 샘플 mapreduce.d/conf.yaml을 참고하세요.

  2. Agent를 다시 시작합니다.

로그 수집
  1. 로그 수집은 Datadog 에이전트에서 기본적으로 비활성화되어 있습니다. datadog.yaml 파일에서 활성화합니다.

    logs_enabled: true
    
  2. mapreduce.d/conf.yaml 파일에서 로그 구성 블록의 주석을 해제하고 편집합니다. 환경에 따라 type, path, service 파라미터 값을 변경합니다. 사용 가능한 모든 구성 옵션은 샘플 mapreduce.d/conf.yaml을 참고하세요.

    logs:
      - type: file
        path: <LOG_FILE_PATH>
        source: mapreduce
        service: <SERVICE_NAME>
        # To handle multi line that starts with yyyy-mm-dd use the following pattern
        # log_processing_rules:
        #   - type: multi_line
        #     pattern: \d{4}\-\d{2}\-\d{2} \d{2}:\d{2}:\d{2},\d{3}
        #     name: new_log_start_with_date
    
  3. Agent를 다시 시작합니다.

컨테이너화된 환경

컨테이너화된 환경의 경우 Autodiscovery 통합 템플릿에 아래 파라미터를 적용하는 방법이 안내되어 있습니다.

파라미터
<INTEGRATION_NAME>mapreduce
<INIT_CONFIG>비어 있음 또는 {}
<INSTANCE_CONFIG>{"resourcemanager_uri": "https://%%host%%:8088", "cluster_name":"<MAPREDUCE_CLUSTER_NAME>"}
로그 수집

Datadog Agent에서는 로그 수집이 기본적으로 비활성화되어 있습니다. 로그 수집을 활성화하려면 Docker 로그 수집을 참고하세요.

다음으로, 로그 통합을 Docker 레이블로 설정합니다.

LABEL "com.datadoghq.ad.logs"='[{"source": "mapreduce", "service": "<SERVICE_NAME>"}]'

검증

Agent 상태 하위 명령 을 실행하고 Checks 섹션에서 mapreduce를 찾습니다.

수집한 데이터

Metrics

mapreduce.job.counter.map_counter_value
(rate)
맵 작업의 카운터 값
task로 표시됨
mapreduce.job.counter.reduce_counter_value
(rate)
리듀스 작업의 카운터 값
task로 표시됨
mapreduce.job.counter.total_counter_value
(rate)
모든 작업의 ​​카운터 값
task로 표시됨
mapreduce.job.elapsed_time.95percentile
(gauge)
애플리케이션 시작 이후 경과 시간의 95번째 백분위수
millisecond로 표시됨
mapreduce.job.elapsed_time.avg
(gauge)
애플리케이션 시작 이후 평균 경과 시간
millisecond로 표시됨
mapreduce.job.elapsed_time.count
(rate)
경과 시간을 샘플링한 횟수
mapreduce.job.elapsed_time.max
(gauge)
애플리케이션 시작 이후 최대 경과 시간
millisecond로 표시됨
mapreduce.job.elapsed_time.median
(gauge)
신청 시작 이후 경과된 시간의 중앙값
millisecond로 표시됨
mapreduce.job.failed_map_attempts
(rate)
맵 시도 실패 횟수
task로 표시됨
mapreduce.job.failed_reduce_attempts
(rate)
리듀스 시도 실패 횟수
task로 표시됨
mapreduce.job.killed_map_attempts
(rate)
맵 시도 중단 횟수
task로 표시됨
mapreduce.job.killed_reduce_attempts
(rate)
리듀스 시도 중단 횟수
task로 표시됨
mapreduce.job.map.task.elapsed_time.95percentile
(gauge)
전체 맵 작업의 경과 시간 중 95번째 백분위수
millisecond로 표시됨
mapreduce.job.map.task.elapsed_time.avg
(gauge)
모든 맵 작업의 평균 경과 시간
millisecond로 표시됨
mapreduce.job.map.task.elapsed_time.count
(rate)
맵 작업 경과 시간을 샘플링한 횟수
mapreduce.job.map.task.elapsed_time.max
(gauge)
모든 맵 작업의 최대 경과 시간
millisecond로 표시됨
mapreduce.job.map.task.elapsed_time.median
(gauge)
모든 맵 작업의 경과 시간 중앙값
millisecond로 표시됨
mapreduce.job.maps_completed
(rate)
완료된 맵 작업 수
task로 표시됨
mapreduce.job.maps_pending
(rate)
대기 중인 맵 작업 수
task로 표시됨
mapreduce.job.maps_running
(rate)
실행 중인 맵 작업 수
task로 표시됨
mapreduce.job.maps_total
(rate)
총 맵 작업 수
task로 표시됨
mapreduce.job.new_map_attempts
(rate)
새로운 맵 시도 횟수
task로 표시됨
mapreduce.job.new_reduce_attempts
(rate)
새로운 리듀스 시도 횟수
task로 표시됨
mapreduce.job.reduce.task.elapsed_time.95percentile
(gauge)
모든 리듀스 작업 경과 시간의 95번째 백분위수
millisecond로 표시됨
mapreduce.job.reduce.task.elapsed_time.avg
(gauge)
모든 리듀스 작업의 평균 경과 시간
millisecond로 표시됨
mapreduce.job.reduce.task.elapsed_time.count
(rate)
리듀스 작업 경과 시간을 샘플링한 횟수
mapreduce.job.reduce.task.elapsed_time.max
(gauge)
모든 리듀스 작업의 최대 경과 시간
millisecond로 표시됨
mapreduce.job.reduce.task.elapsed_time.median
(gauge)
모든 리듀스 작업의 경과 시간 중앙값
millisecond로 표시됨
mapreduce.job.reduces_completed
(rate)
완료된 리듀스 작업 수
task로 표시됨
mapreduce.job.reduces_pending
(rate)
대기 중인 리듀스 작업 수
task로 표시됨
mapreduce.job.reduces_running
(rate)
실행 중인 리듀스 작업 수
task로 표시됨
mapreduce.job.reduces_total
(rate)
리듀스 작업 수
task로 표시됨
mapreduce.job.running_map_attempts
(rate)
실행 중인 맵 시도 횟수
task로 표시됨
mapreduce.job.running_reduce_attempts
(rate)
실행 중인 리듀스 시도 횟수
task로 표시됨
mapreduce.job.successful_map_attempts
(rate)
성공한 맵 시도 횟수
task로 표시됨
mapreduce.job.successful_reduce_attempts
(rate)
성공한 리듀스 시도 횟수
task로 표시됨

이벤트

Mapreduce 점검은 이벤트를 포함하지 않습니다.

서비스 점검

mapreduce.resource_manager.can_connect

Agent가 Resource Manager에 연결할 수 없는 경우 CRITICAL을 반환하고, 그렇지 않으면 OK를 반환합니다.

상태: ok, critical

mapreduce.application_master.can_connect

Agent가 Application Master에 연결할 수 없는 경우 CRITICAL을 반환하고, 그렇지 않으면 OK를 반환합니다.

상태: ok, critical

트러블슈팅

도움이 필요하세요? Datadog 지원 팀에 문의하세요.

참고 자료