Spark Deploy Mode의 종류
글 작성자: _rian
Spark Deploy Mode의 종류 - Local, Client, Cluster Mode
- Spark Application은 아래와 같은 환경에서 실행이 가능함
- (1) 하나의 서버
- Local Mode
- (2) 클러스터 (ex. YARN, k8s등)
- Client Mode
- Cluster Mode
- (1) 하나의 서버
1. Local Mode
- Spark Driver가 실행한 서버 (local)에서 실행
- process 내에 하나 이상의 worker thread가 실행됨
2. Client Mode
- Spark Driver가 클라이언트 머신에서 실행
- 사용자의 어플리케이션이 시작된 머신이 Spark Driver를 호스팅, 이 머신에서 SparkContext를 생성
- Driver는 클라이언트(spark job을 실행한 서버)에서 실행되고 Executor들은 YARN Cluster에서 실행됨.
3. Cluster Mode
- Spark Driver가 클러스터의 일부인 워커 노드에서 실행
- YARN이 Driver 프로그램을 워커노드 중 하나에 할당
- Driver는 Application Master Container에서 실행되어 Driver/Executor 모두 YARN Cluster에서 실행됨
권장사항
Client Mode로 사용시 Driver가 Local에서 실행되기 때문에 생성되는 로그를 바로 볼 수 있는 장점이 있으나, 여러 job이 한 서버를 공유하는 경우 로컬에 부하가 점차 늘어나게 됨.
따라서 개발 시에는 client mode, 실제 서비스 배치 등록 시 cluster mode로 배포하는 것을 권장
Deploy Mode 변경 방법
spark-submit
명령어 실행시 --master
, -deploy-mode
옵션으로 실행 환경 선택 가능
1. Local Mode
$ ./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master local[2] \
--driver-memory 2g \
/path/to/examples*.jar \
10
2. Yarn Client Mode
$ ./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
--driver-memory 2g \
--executor-memory 2g \
--num-executors 3 \
--executor-cores 1 \
--queue thequeue \
examples/jars/spark-examples*.jar \
10
3. Yarn Cluster Mode
$ ./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--driver-memory 2g \
--executor-memory 2g \
--num-executors 3 \
--executor-cores 1 \
--queue thequeue \
examples/jars/spark-examples*.jar \
10
'Computer Engineering' 카테고리의 다른 글
Pyspark에서 데이터 파티션 관리방법 - partitionBy() (0) | 2023.06.28 |
---|---|
YARN Cluster에 연결된 Spark로 pyspark - Oracle 데이터베이스 연결하기 (0) | 2023.06.08 |
Pandas Basic (0) | 2020.07.01 |
[Azure Certi] AZ-900 Certi 준비 (10) - Azure 비용 예상 및 지출 최적화 (0) | 2020.05.27 |
컴퓨터의 성능을 높이는 방법 - 스케일업(scale up)과 스케일 아웃(scale out) (0) | 2020.05.12 |
댓글
이 글 공유하기
다른 글
-
Pyspark에서 데이터 파티션 관리방법 - partitionBy()
Pyspark에서 데이터 파티션 관리방법 - partitionBy()
2023.06.28 -
YARN Cluster에 연결된 Spark로 pyspark - Oracle 데이터베이스 연결하기
YARN Cluster에 연결된 Spark로 pyspark - Oracle 데이터베이스 연결하기
2023.06.08 -
Pandas Basic
Pandas Basic
2020.07.01 -
[Azure Certi] AZ-900 Certi 준비 (10) - Azure 비용 예상 및 지출 최적화
[Azure Certi] AZ-900 Certi 준비 (10) - Azure 비용 예상 및 지출 최적화
2020.05.27