도커로 Spark-Zepplein 세팅하기
AWS로 Spark 공부를 진행하다 보니 비용이 만만치 않아서 도커를 통해 세팅 후 공부를 진행하기로 했다.
1. docker-compose up
https://github.com/big-data-europe/docker-spark 를 참고하여 docker-compose.yml파일을 만들어, 컨테이너를 띄워보았다.
아래 코드를 실행하여 docker-compose up을 실행한다.
git clone https://github.com/kidae92/docker-spark-zeppelin.git
cd docker-spark-zeppelin
docker-compose up -d --build
아래와 같이 4개의 컨테이너가 형성된다.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e83caecab411 spark-zeppelin "/bin/sh -c '$ZEPPEL…" 2 hours ago Up 2 hours 8081/tcp, 0.0.0.0:8888->8080/tcp spark-zeppelin
eb53fd0ad3f1 bde2020/spark-worker:3.0.2-hadoop3.2 "/bin/bash /worker.sh" 2 hours ago Up 2 hours 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp spark-worker-1
8a4f193ea019 bde2020/spark-worker:3.0.2-hadoop3.2 "/bin/bash /worker.sh" 2 hours ago Up 2 hours 0.0.0.0:8082->8081/tcp, :::8082->8081/tcp spark-worker-2
255322868fc5 bde2020/spark-master:3.0.2-hadoop3.2 "/bin/bash /master.sh" 2 hours ago Up 2 hours 0.0.0.0:7077->7077/tcp, :::7077->7077/tcp, 6066/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp spark-master
2. 설치 확인
나는 연구실 서버에 도커를 띄워서 127.0.0.1:8080이 아닌 서버의 ip와 지정해준 port를 통해 Spark Master page를 확인할 수 있다. 또한 워커 두개가 떠 있는 것을 볼 수 있다.
마찬가지로 8081과 8082 워커의 UI도 들어가서 확인해 볼 수 있다.
ip:8888에 들어가니 Zepplein이 잘 실행되는 것을 볼 수 있었다. 처음에 Spark공부 할 때 Databrick으로 했었는데 Zeppelin이 좀 더 편한거 같기도 .. ?
구조는 아래 그림과 같다.
3. Spark 실행
Zeppelin 메인 화면에서 Create new note를 누르고 Default Interpreter을 spark로 선택 후 test note를 만들어보았다. (듀토리얼 파일이 미리 import되어 있는 것을 볼 수 있는 굉장히 설명이 잘되어 있는거 같다.)
spark 입력 후 재생 버튼 또는 Shift + Enter를 눌러보면 SparkSession이 있는 것을 볼 수 있고 Spark - Zepplein이 잘 연결되어 있는 것을 확인 할 수 있다.
Author And Source
이 문제에 관하여(도커로 Spark-Zepplein 세팅하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kidae92/도커로-Spark-Zepplein-세팅하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)