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을 입력합니다 - source:수집기 별칭으로, 구분해서 사용하는 것을 권장합니다
- keep_exist_metric_name: 메트릭 이름 유지
- interval:수집 간격
- inputs.prom.tags: 추가 tag 삽입
3. DataKit 재시작¶
메트릭¶
Hadoop 메트릭 집합¶
NodeManager 메트릭은 Hadoop 메트릭 집합 아래에 있으며, 여기서는 주로 NodeManager 관련 메트릭 설명을 소개합니다.
| Metrics | 설명 | 단위 |
|---|---|---|
nodemanager_allocatedcontainers |
노드 매니저가 할당한 컨테이너 수 |
count |
nodemanager_allocatedgb |
노드 매니저가 할당한 용량 |
count |
nodemanager_allocatedopportunisticgb |
노드 매니저가 할당 가능한 바이트 수 |
count |
nodemanager_allocatedopportunisticvcores |
노드 매니저가 할당 가능한 opportunistic 수 |
count |
nodemanager_allocatedvcores |
노드 매니저가 할당한 vcores 수 |
count |
nodemanager_availablegb |
노드 매니저의 사용 가능한 바이트 수 |
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 |
노드 매니저 GC concurrent mark sweep 횟수 |
count |
nodemanager_gccountparnew |
노드 매니저 GC 복사 횟수 |
count |
nodemanager_gcnuminfothresholdexceeded |
노드 매니저 GC 정보 임계값 초과 수 |
count |
nodemanager_gcnumwarnthresholdexceeded |
노드 매니저 GC 경고 임계값 초과 수 |
count |
nodemanager_gctimemillis |
노드 매니저 GC 시간 밀리초 |
ms |
nodemanager_gctimemillisconcurrentmarksweep |
노드 매니저 GC mark 시간 밀리초 |
ms |
nodemanager_gctimemillisparnew |
노드 매니저 복사 시간 밀리초 |
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 |
노드 매니저 활성 sink 수 |
count |
nodemanager_numactivesources |
노드 매니저 활성 source 수 |
count |
nodemanager_numallsinks |
노드 매니저 전체 sink 수 |
count |
nodemanager_numallsources |
전체 source 수 |
count |
nodemanager_numdroppedconnections |
노드 매니저 드롭된 연결 수 |
count |
nodemanager_numopenconnections |
노드 매니저 열린 연결 수 |
count |
nodemanager_numregisteredconnections |
노드 매니저 등록된 연결 수 |
count |
nodemanager_openblockrequestlatencymillis_count |
노드 매니저 블록 열기 지연 횟수 |
count |
nodemanager_openblockrequestlatencymillis_rate1 |
노드 매니저 블록 열기 지연 요청 속도 1 |
B/s |
nodemanager_openblockrequestlatencymillis_rate15 |
노드 매니저 블록 열기 지연 요청 속도 15 |
B/s |
nodemanager_openblockrequestlatencymillis_rate5 |
노드 매니저 블록 열기 지연 요청 속도 5 |
B/s |
nodemanager_openblockrequestlatencymillis_ratemean |
노드 매니저 블록 열기 평균 요청 지연률 |
B/s |
nodemanager_privatebytesdeleted |
노드 매니저에서 삭제된 private 바이트 수 |
byte |
nodemanager_publicbytesdeleted |
노드 매니저에서 삭제된 바이트 수 |
byte |
nodemanager_publishavgtime |
노드 매니저 publish 평균 시간 |
s |
nodemanager_publishnumops |
노드 매니저 데이터 publish 작업 수 |
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 |
노드 매니저 인증 실패 수 |
count |
nodemanager_rpcauthorizationsuccesses |
노드 매니저 인증 성공 수 |
count |
nodemanager_rpcclientbackoff |
노드 매니저 RPC 클라이언트 backoff 횟수 |
count |
nodemanager_rpcprocessingtimeavgtime |
노드 매니저 처리 시간의 평균 시간 |
s |
nodemanager_rpcprocessingtimenumops |
노드 매니저 RPC 처리 작업 수 |
count |
nodemanager_rpcqueuetimeavgtime |
노드 매니저 RPC 큐 시간 평균 |
count |
nodemanager_rpcqueuetimenumops |
노드 매니저 RPC 큐 시간 작업 수 |
count |
nodemanager_rpcslowcalls |
노드 매니저 느린 호출 수 |
count |
nodemanager_runningopportunisticcontainers |
노드 매니저에서 실행 중인 opportunistic 컨테이너 수 |
count |
nodemanager_securityenabled |
노드 매니저 보안 활성화 수 |
count |
nodemanager_sentbytes |
노드 매니저가 전송한 바이트 수 |
byte |
nodemanager_shuffleconnections |
노드 매니저 재연결 횟수 |
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 |