본문 바로가기
🌴 DevOps/Docker & K8s

[Docker]빅데이터 분석환경 구성4-Zeppelin0.9 설치

by 카프리썬_ 2021. 7. 27.
728x90
728x90

2021.07.27 - [Docker] 빅데이터 분석환경 구성1-Ubuntu&Java설치

2021.07.27 - [Docker] 빅데이터 분석환경구성2-Hadoop 2.7.7

2021.07.27 - [Docker] 빅데이터 분석환경구성3-Spark 3.0설치

2021.07.27 - [Docker]빅데이터 분석환경 구성4-Zeppelin0.9 설치

4.Zeppelin

이어서 spark가 설치된 이미지를 사용해서 컨테이너를 생성한다.

1. 컨테이너 생성 (zeppelin)

docker run -it --name 컨테이너이름 image이름 

2. zeppelin 설치 

2-1. zeppelin 다운 및 압축해제

여기 에서 zeppelin버전을 선택해서 다운받을 링크를 복사한다. 

wget https://downloads.apache.org/zeppelin/zeppelin-0.9.0/zeppelin-0.9.0-bin-all.tgz

tar xvfz zeppelin-0.9.0-bin-all

2-2. 파일이동 및 심볼링크(zeppelin) 등록

압축을 푼 폴더를 홈디렉토리로 이동한다

mv zeppelin-0.9.0-bin-all /root

그리고 그 경로를 zeppelin라고 심볼링크를 등록한다

ln -s zeppelin-0.9.0 zeppelin

 

1-3.환경변수설정

이제 환경변수를 등록한다 

환경변수등록 파일 열기 vi .bashrc

 

vi ~/.bashrc에서 아래와 같이 zepplin_home path를 추가한다.

환경변수등록 파일 저장 source ~/.bashrc


3. zeppelin 설정파일 세팅

3-1. zeppelin-env.sh 파일생성 

cp zeppelin/conf/zeppelin-env.sh.template zeppelin/conf/zeppelin-env.sh

vi zeppelin/conf/zeppelin-env.sh

아래와 같이 python와 java의 설정경로를 연결해준다.

3-2. zeppelin-site.xml 파일수정

cp zeppelin/conf/zeppelin-site.xml.template zeppelin/conf/zeppelin-site.xml

vi zeppelin/conf/zeppelin-site.xml

클라우드안에서 local로는 접근이 안되니까, 0.0.0.0 으로 주소를 바인딩한다.

8080은 spark에서 쓰기 때문에 제플린의 포트는 8082로 변경해준다.

4. zeppelin실행

zeppelin/bin/zeppelin-daemon.sh start

zepplelin실행 

zeppelin/bin/zeppelin-daemon.sh stop

zepplelin 중지 

일단 여기까지 한거 컨테이너 이미지화한다

docker commit zeppelin zeppelin

 


5. 빅데이터분석환경 전체테스트

그리고 지금까지 만든 이미지를 가지고 전체적인 빅데이터분석환경을 테스트해본다.

 

일단 모든 컨테이너는 이렇다.

우분투 이미지로 hadoop 컨테이너를 만들고,

hadoop 이미지로 spark 컨테이너를 만들고,

spark 이미지로 zeppelin 컨테이너를 만들었다.

이렇게 이미지를 쌓이고 쌓아서 결국 마지막 zeppelin컨테이너가 최종환경으로 볼 수 있다.

그래서 그 zeppelin 이미지를 사용해서 테스트할 환경을 final컨테이너로 실행한다.

 

docker run -it --name final
-p 80:80 -p 7077:7077 -p 8080:8080 -p 8081:8081 -p 8082:8082 -p 8443:8443 -p 9000:9000 zeppelin:latest

 

8080: 스파크 마스터

8081 : 스파크 슬레이브

 

그리고 접속한 뒤 (docker touch final)

 root 디렉토리에서 hadoop>spark>zeppelin 순으로 모두 실행시키면 된다. 

하둡

service ssh start

start-all.sh

스파크

mster 실행 : spark/sbin/start-master.sh

slave 실행 : spark/sbin/start-slaves.sh

도커서버ip:스파크포트로 접속한다

제플린

zeppelin/bin/zeppelin-daemon.sh start

컨테이너ip가 아니라 도커서버ip:제플린포트 로 접속한다. 

 


6. 보완할점 

지금은 이미지를 계속 사용하면서 컨테이너환경을 만들었다.

그리고 직접 컨테이너 안에 들어가서 실행을 시켰는데, 이러면 여러가지 환경을 구성하기에 어려울 듯하다.

 

그래서 다음번엔 컨테이너들을 독립적으로 만들고,

컨테이너 안에 들어가지 않고, 따로따로 실행시켜서 클러스터환경으로 구성해볼까한다.

그리고 docker-compose나 쿠버로 컨테이너들을 관리하는 걸 테스트해봐야겠다.

 

그리고 제플린이랑 spark가 연동이 제대로 안된것 같다.

제플린안에서 spark가 안먹힌다..그리고 제플린이 계속 멈춘다..

 

저녁에 다시 해보고 이걸로 테스트해보기

https://kadensungbincho.tistory.com/91

https://yongjunleeme.github.io/wiki/zeppelin-example/

https://zeppelin.apache.org/docs/0.8.0/quickstart/tutorial.html#data-refine-1

 

클러스터로테스트해보기

https://it-sunny-333.tistory.com/87

도커파일만들기

https://todaycodeplus.tistory.com/31

728x90
반응형