사용 중인 스파크 설정 관련 깃허브는 다음과 같다
https://github.com/ParkGyeongTae/spark-pgt/tree/main/1_spark-cluster
GitHub - ParkGyeongTae/spark-pgt
Contribute to ParkGyeongTae/spark-pgt development by creating an account on GitHub.
github.com
마스터1, 슬레이브3의 스탠드 얼론 클러스터를 운영하고있다.
docker-compose.yml 파일은 다음과 같다.
version: '2.1'
services:
spark-master:
hostname: spark-master
container_name: spark-master
image: spark-cluster:0.02
restart: always
ports:
- 18080:18080 # 스파크 웹 UI
stdin_open: true
tty: true
environment:
- SPARK_MODE=master
- SPARK_MASTER_HOST=spark-master
- SPARK_MASTER_PORT=17077
- SPARK_MASTER_WEBUI_PORT=18080
spark-slave-1:
hostname: spark-slave-1
container_name: spark-slave-1
image: spark-cluster:0.02
restart: always
stdin_open: true
tty: true
ports:
- 8081:8081 # 스파크 워커 웹 UI
environment:
- SPARK_MODE=slave
- SPARK_MASTER_HOST=spark-master
- SPARK_MASTER_PORT=17077
- SPARK_MASTER_WEBUI_PORT=18080
- SPARK_WORKER_CORES=4
- SPARK_WORKER_MEMORY=4g
- SPARK_WORKER_WEBUI_PORT=8081
- SPARK_WORKER_PORT=18081
depends_on:
- spark-master
spark-slave-2:
hostname: spark-slave-2
container_name: spark-slave-2
image: spark-cluster:0.02
restart: always
stdin_open: true
tty: true
ports:
- 8082:8082 # 스파크 워커 웹 UI
environment:
- SPARK_MODE=slave
- SPARK_MASTER_HOST=spark-master
- SPARK_MASTER_PORT=17077
- SPARK_MASTER_WEBUI_PORT=18080
- SPARK_WORKER_CORES=4
- SPARK_WORKER_MEMORY=4g
- SPARK_WORKER_WEBUI_PORT=8082
- SPARK_WORKER_PORT=18082
depends_on:
- spark-master
spark-slave-3:
hostname: spark-slave-3
container_name: spark-slave-3
image: spark-cluster:0.02
restart: always
stdin_open: true
tty: true
ports:
- 8083:8083 # 스파크 워커 웹 UI
environment:
- SPARK_MODE=slave
- SPARK_MASTER_HOST=spark-master
- SPARK_MASTER_PORT=17077
- SPARK_MASTER_WEBUI_PORT=18080
- SPARK_WORKER_CORES=4
- SPARK_WORKER_MEMORY=4g
- SPARK_WORKER_WEBUI_PORT=8083
- SPARK_WORKER_PORT=18083
depends_on:
- spark-master
먼저 도커 컨테이너와 이미지를 확인한다
docker ps -a
docker images
이미지를 만들고, 도커컴포즈 업
./full_build.sh
docker-compose up -d
localhost:18080 접속
워커 컨테이너 하나를 중지시켜보자
웹을 다시 보면 죽어있다.
워커 컨테이너를 다 중지시켜보자
웹을 보자
다시 다 살려보자
이번엔 마스터를 죽여보자
마스터 웹에 접속이 불가능하다.
마스터를 다시 살려보자
다시 슬레이브가 마스터에 붙지 않아서
슬레이브 3개를 다시시작해보자.
'Data Engineering > Spark' 카테고리의 다른 글
[Spark] Apache Zeppelin 로그 파일 위치 확인하기 (0) | 2022.04.15 |
---|---|
[Spark] Apache Spark + Apache Zeppelin 실행하기 (0) | 2022.04.15 |
[Spark] spark-shell, spark-submit 실행시 --num-executors 에 대한 확인 (0) | 2022.04.13 |
[Spark] Spark Cluster 간단하게 만들어보기 (standalone) (0) | 2022.04.13 |
[Spark] org.apache.spark.deploy.master.Master running as process 580. Stop it first. (0) | 2022.04.13 |