ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스파크 컨텍스트 와 Executor
    BigData 2020. 6. 2. 21:58

    Executor는 CPU와 메모리등의 자원을 할당받는 프로세스

     

    Executor 하나가 사용할 자원을 정한 뒤 작업 실행 요청이 발생할 때마다 필요한 수만큼의 익스큐터를 할당하는 방식으로 자원 할당

     

    스파크 컨텍스트는 클러스터 매니저와의 연동을 통해 작업을 처리함

     

    드라이버 프로그램(SparkContext) <-> 클러스터 매니저 -> 워커노드[익스큐터Executor[태스크],[태스크]]

     

     

    스파크에서 서로다른 실행 모드를 구분하는 용어로 "디플로이 모드"

       - 서로 다른 실행모드가 존재하는 이유는?

           클러스터 매니저마다 조금씩 다른 형태로 애플리케이션을 실행 시킬수 있기 때문

     

    디플로이 모드는 2가지로 나눌 수 있다.

     

    1.클라이언트 디플로이

    2.클러스터 디플로이

    -----------------------------------------------------------------------------------------------------------------------------------클라이언트 디플로이의 경우

        애플리케이션을 실행한 프로세스 내부에서 드라이버 프로그램을 구동

    클러스터 디플로이의 경우

         애플리케이션을 실행한 프로세스는 클러스터 매니저에게 작업 실행만 요청하고 즉시 종료, 실제 드라이버 프로그램       의 실행은 클러스의 내부 안의 노드들중 하나에서 실행됨 

     

     

    두 모드 가운데 어떤 모드를 선택하든 전체 작업의 수행 결과는 동일

    클러스터 모드로 실행할 경우 드라이버 프로그램과 익스큐터 간에 네트워크를 통해 메시지를 전달하는 비용이 상대적으로 낮아지므로 이로 인한 성능 향상 기대, 하지만 스파크 셸과 같은 인터랙티브 환경을 사용하거나 드라이버 프로그램 상에서의 디버깅이 어려워지기때문에 정기적인 배치 작업과 같이 정형화된 고정 작업이 아니라면 일반적으로 

    클라이언트 모드를 사용하는 것이 더 편리

     

     

    'BigData' 카테고리의 다른 글

    Yarn  (0) 2020.06.03
    Yarn  (0) 2020.06.03
    스파크 컨텍스트 생성시 유의점  (0) 2020.06.02
    RDD 자세히  (0) 2020.06.01
    SparkContext, RDD 개념만  (0) 2020.06.01
Designed by Tistory.