ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Hadoop] yarn-site.xml 알아보기
    Hadoop 2024. 3. 3. 12:14
    728x90
    반응형

     

    - 목차

     

    들어가며.

    이번 글에서는 yarn-site.xml 의 설정들에 대해서 알아보도록 하겠습니다.

    아래 링크는 yarn-default.xml 의 상세한 설명이 기록되어 있는 공식 문서의 주소입니다.

    https://hadoop.apache.org/docs/r3.1.0/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

     

    yarn-site.xml

    yarn.nodemanager.resource.memory-mb

    yarn.nodemanager.resource.memory-mb 는 NodeManager 에서 실행될 컨테이너의 메모리 사이즈를 설정하는 옵션입니다.

    만약 yarn.nodemanager.resource.memory-mb 가 -1 로 설정되어 있고

    또 다른 옵션인 yarn.nodemanager.resource.detect-hardware-capabilities 이 true 로 설정되어 있다면,

    Yarn Container 의 Heap Memory 는 NodeManager 의 메모리의 상태를 자동적으로 파악 후 설정됩니다.

     

    yarn.scheduler.minimum-allocation-mb

    yarn.scheduler.minimum-allocation-mb 는 Yarn Container 가 취할 수 있는 최소한의 Heap Memory 사이즈입니다.

    만약 Yarn Container 가 요청하는 메모리의 크기가 이 값보다 작다면

    yarn.scheduler.minimum-allocation-mb 로 설정된 값을 Heap Memory 사이즈로써 취하게 됩니다.

     

    yarn.nodemanager.resource.cpu-vcores

    yarn.nodemanager.resource.cpu-vcores 는 실행되는 Yarn Container 에게 할당되는 Core 의 갯수를 의미합니다.

    yarn.nodemanager.resource.memory-mb 와 성격이 유사합니다.

    이 또한 yarn.nodemanager.resource.detect-hardware-capabilities 가 true 로 설정되어 있다면,

    NodeManager 서버의 CPU Core 갯수를 파악하여 동적으로 할당됩니다.

     

    yarn.resourcemanager.address (Application Manager)

    yarn.resourcemanager.address 는 ResourceManager 의 IP 와 Port 또는 Domain 과 Port 를 입력하는 설정입니다.

    yarn.resourcemanager.address 를 토대로 NodeManager 들과 ResourceManager 가 연결됩니다.

    정확히는 ResourceManager 내부의 Application Manager 가 외부와 통신하기 위해서 사용하는 Port 가 설정됩니다.

     

    ResourceManager 와 NodeManager 사이의 통신은 Heartbeat 를 통해서 이루어집니다.

    NodeManager 는 ResourceManager 에게 Heartbeat 를 주기적으로 전달하게 되고,

    Heartbeat 의 데이터로써 NodeManager 의 리소스 상태를 전달합니다.

    Heartbeat 통신이 가능하게 되는 이유는 yarn.resourcemanager.address 를 통해서

    ResourceManager 의 네트워크적 위치를 알 수 있기 때문입니다.

     

    yarn.resourcemanager.scheduler.address

    ResourceManager 의 Scheduler 의 주소가 설정되는 옵션입니다.

    Application Master 은 Task 의 실행을 위해서 Mapper, Combiner, Reducer Task 나 Spark Task 등을 Resource Manager 에게 실행 요청을 해야합니다.

    이 과정에서 Resource Manager 의 Scheduler 가 개입하게 되는데,

    yarn.resourcemanager.scheduler.address 는 이러한 Scheduler 의 IP 와 Port 또는 Domain 과 Port 입니다.

     

     

    반응형
Designed by Tistory.