Miner

Spark(2) - Yarn 본문

데이터 엔지니어링/Spark

Spark(2) - Yarn

MineTime76 2024. 1. 22. 17:32

Yarn

분산 컴퓨팅 시스템 : 하둡 2.0 (Yarn 1.0)

세부 리소스 관리가 가능한 범용 컴퓨팅 프레임워크

  • 리소스 매니저 - Job Scheduler, Application Manager
  • 노드 매니저
  • 컨테이너 - 앱 마스터, 태스크

Spark가 이 위에서 구현되었다. 

Yarn의 동작

클라이언트는 MapReduce 나 Spark 

  1. 실행하려는 코드와 환경 정보를 RM(Resource Manager)에게 넘김
    • 실행에 필요한 파일들은 application ID에 해당하는 HDFS 폴더에 복사가 미리 복사됨
  2. RM은 NM(Node Manager)로 부터 컨테이너를 받아 AM(Application Master) 실행
    • AM은 프로그램 마다 하나씩 할당되는 프로그램 마스터에 해당된다
  3. AM은 입력 데이터 처리에 필요한 리소스를 RM에게 요구
    • RM은 data locality를 고려해서 리소스(컨테이너)를 할당
  4. AM은 할당받은 리소스를 NM을 통해 컨테이너로 론치하고 그 안에서 코드를 실행
    • 이 때, 실행에 필요한 파일들이 HDFS에서 Container가 있는 서버로 먼저 복사
  5. 각 태스크는 상황을 주기적으로 AM에게 보고(heartbeat)
    • 태스크가 실패하거나 보고가 오랜 시간 없으면 태스크를 다른 컨테이너로 재실행

 

 

하둡 3.0 의 특징

 

Yarn 2.0을 사용

  • Yarn 프로그램들의 논리적인 그룹(플로우라고 부름)으로 나눠서 자원 관리가 가능
  • 이를 통해 데이터 수집 프로세스와 데이터 서빙 프로세스를 나눠서 관리 가능
  • 타임라인 서버에서 HBase를 기본 스토리지로 사용(하둡2.1)

파일 시스템

  • 네임 노드의 경우 다수의 스탠바이 네임노드를 지원
  • HDFS, S3, Azure Storage 이외에도 Azure Data Lake Storage 등을 지원

 

'데이터 엔지니어링 > Spark' 카테고리의 다른 글

Spark(6) - Spark 사용  (0) 2024.01.30
Spark(5) - Spark  (0) 2024.01.30
Spark(4) - Install Hadoop  (0) 2024.01.22
Spark(3) - MapReduce 프로그래밍  (0) 2024.01.22
Spark(1)  (0) 2024.01.22