Data Engineering/Spark

Spark Application Component - Component

신수동탈곡기 2022. 2. 8. 12:21

스파크 드라이버


스파크 애플리케이션의 ‘운전자 역할’을 하는 프로세스. 스파크 어플리케이션의 실행을 제어하고 스파크 클러스터(익스큐터의 상태와 태스크)의 모든 상태 정보를 유지힌다. 물리적 컴퓨팅 자원 확보, 익스큐터 실행을 위한 클러스터 매니저와의 통신 등도 수행한다. 요약하면 물리적 머신의 프로세스이며 클러스터에서 실행중인 애플리케이션의 상태를 유지하는 역할을 수행한다.

스파크 익스큐터


위에서 기술한 스파크 드라이버가 할당해준 태스크를 수행하는 프로세스. 스파크 익스큐터는 스파크 드라이버가 할당한 태스크를 받아 실행하고 태스크의 상태와 결과를 드라이버에 보고한다. 모든 스파크 애플리케이션은 개별 익스큐터 프로세스를 사용한다.

클러스터 매니저


실행 중인 스파크 애플리케이션이 없을 때의 클러스터

클러스터 매니저는 스파크 어플리케이션을 수행할 클러스터 머신을 유지한다. 클러스터 매니저에는 드라이버(혹은 마스터)와 워커(혹은 슬레이브)라는 개념이 있는데 이는 프로세스가 아닌 물리적 머신에 연결된 개념이므로 주의해야 한다. 그림 왼쪽에 있는 머신은 클러스터매니저의 드라이버 노드이다. 원은 개별 워커 노드를 실행하고 관리하는 데몬프로세스이며 클러스터 매니저의 프로세스일 뿐이다. 클러스터 매니저 그 자체가 아니다.