📖 학습주제
빅데이터 처리 시스템, Hadoop, Spark (5)
AWS Spark 클러스터 론치
AWS에서 Spark을 실행하려면 -> EMR (Elastic MapReduce) 위에서 실행하는 것이 일반적
EMR
- AWS의 Hadoop 서비스 (On-demand Hadoop)
- Hadoop (YARN), Spark, Hive, Notebook 등등이 설치되어 제공되는 서비스
- EC2 서버들을 worker node로 사용하고 S3를 HDFS로 사용
- AWS 내의 다른 서비스들과 연동이 쉬움 (Kinesis, DynamoDB, Redshift, …)
Spark on EMR 실행 및 사용 과정
- AWS의 EMR (Elastic MapReduce - 하둡) 클러스터 생성
- EMR 생성시 Spark을 실행 (옵션으로 선택)
- S3를 기본 파일 시스템으로 사용
- EMR의 마스터 노드를 드라이버 노드로 사용
- 마스터 노드를 SSH로 로그인
◦ spark-submit를 사용
- Spark의 Cluster 모드에 해당
Spark 클러스터 매니저와 실행 모델 요약
| 클러스터 매니저 | 실행 모드 (deployed mode) | 프로그램 실행 방식 |
|---|
| local[n] | Client | Spark Shell, IDE, 노트북 |
| YARN | Client | Spark Shell, 노트북 |
| YARN | Cluster | spark-submit |
AWS Spark 클러스터 상에서 PySpark 잡 실행
PySpark 잡 실행 과정
- Spark 마스터노드에 SSH로 로그인
- 이를 위해 마스터노드의 TCP 포트번호 22번을 오픈해야함
- spark-submit을 이용해서 실행하면서 디버깅
- 두 개의 잡을 AWS EMR 상에서 실행해 볼 예정