본문 바로가기
빅데이터/hadoop

[hadoop] YARN REST API를 이용하여 클러스터 사용량 확인 하기

by hs_seo 2019. 1. 7.

YARN은 CLI 명령어와 웹UI, REST API를 제공합니다.


이중에서 클러스터의 사용량은 모니터링 툴을 이용해서 확인할 수 있지만,

모니터링 툴을 이용할 수 없는 상황에서는 REST API를 이용하여 확인할 수 있습니다.


상세한 사용법은 REST API 사용 매뉴얼을 확인하시면 됩니다.

여기서는 클러스터의 메모리 사용량을 REST API로 확인해 보도록 하겠습니다.


클러스터의 메모리 사용량은 메트릭(Metric)으로 확인할 수 있습니다.

메트릭 REST API 주소는 다음과 같습니다.

이 주소를 파이썬을 이용한 스크립트로 호출하면 다음과 같은 결과를 확인할 수 있습니다.


http://<rm http address:port>/ws/v1/cluster/metrics


다음의 스크립트는 메트릭 API를 호출합니다.

호출 헤더에 json 형태의 반환을 위해 컨텐트 타입을 json 형태로 설정합니다.

결과는 json 파싱을 통해 MB 관련 데이터만 출력합니다.




JSON 결과는 다음과 같이 출력되고 스크립트는 필요한 부분만 출력합니다.


{
    "clusterMetrics": {
        "activeNodes": 2,
        "allocatedMB": 0,
        "allocatedVirtualCores": 0,
        "appsCompleted": 25585,
        "appsFailed": 1595,
        "appsKilled": 734,
        "appsPending": 0,
        "appsRunning": 0,
        "appsSubmitted": 27914,
        "availableMB": 23040,
        "availableVirtualCores": 23,
        "containersAllocated": 0,
        "containersPending": 0,
        "containersReserved": 0,
        "decommissionedNodes": 0,
        "decommissioningNodes": 0,
        "lostNodes": 0,
        "rebootedNodes": 0,
        "reservedMB": 0,
        "reservedVirtualCores": 0,
        "totalMB": 23040,
        "totalNodes": 2,
        "totalVirtualCores": 23,
        "unhealthyNodes": 0
    }
}


반응형