반응형

1. 서론

이번 포스팅에서는 Apache Zeppelin 대해 알아 보도록하겠습니다.

 

2. Apache Zeppelin 이란?

Apache Zeppelin이란 Spark를 Web 기반 NoteBook으로 간편히 수행할 수 있게 제공하는 어플리케이션입니다.

 

ide를 통해 할 수도 있지만 Web 기반으로 어디서든 접근하여 간편히 Spark 로직을 생산할 때 많이 사용하는 도구입니다.

 

3. 설치 및 CDH와 연동

CDH ( = Cloudera's Distribution for Hadoop )에서 사용하는 CM (= Cloudera Manager)에서는 안타깝게도 Apache Zeppelin 설치를 제공하고 있지 않습니다.

 

HDP ( = Hortonworks Data Platform ) 에서 사용하는 Ambari 에서는 지원하고 있습니다.
Ambari에서 설치 법은 아래 URL에 나와있습니다.
https://docs.cloudera.com/HDPDocuments/HDP3/HDP-3.1.5/installing-zeppelin/content/installing_apache_zeppelin.html

 

때문에, 수동으로 설치하여 CDH와 연동하여 사용하여야 합니다.

 

 

1) 다운로드

 

저는 CDH 중 호스트 한개를 선택하여 설치를 진행하였습니다.

 

먼저 아래와 같이 zeppelin 을 다운받습니다.

( 현재 포스팅 시점에서는 zeppelin-0.9.0-preview1 가 최신 버전이지만 많이 사용하는 0.8.1 버전으로 진행하도록 하겠습니다. )

 

wget http://apache.mirror.cdnetworks.com/zeppelin/zeppelin-0.8.1/zeppelin-0.8.1-bin-all.tgz

 

다운받은 압축파일을 해제합니다.

 

tar -zxvf zeppelin-0.8.1-bin-all.tgz

 

Zeppelin의 경우 기본경로를 /opt/zeppelin으로 잡기 때문에 압축해제한 폴더를 해당 경로로 옮겨줍니다.

 

sudo mkdir -p /opt/zeppelin
sudo mv ./zeppelin-0.8.1-bin-all /opt/zeppelin

 

 

2) 설정 파일 수정

 

먼저 /opt/zeppelin/zeppelin-0.8.1-bin-all/conf 디렉터리로 이동합니다.

후에, 아래 3개 파일을 모두 cp 명령어를 통해 postfix .template를 제거한 파일을 만들어 줍니다.

 

cp shiro.ini.template shiro.ini
cp zeppelin-env.sh.template zeppelin-env.sh
cp zeppelin-env.cmd.template zeppelin-env.cmd

 

3개 파일을 모두 수정할건 아니지만 사용자가 필요시에 수정할 파일이기 때문에 미리 cp를 통해 만들어 주었습니다.

 

이제 zeppelin-env.sh 파일을 열어 아래와 같이 설정 해주시면 됩니다.

 

설정 값을 CDH의 parcels를 통해 설치한 경로로 잡아줘야 합니다.
제플린을 통해 스파크 코드가 CDH 노드들로 수행되기 위함입니다.

 

export JAVA_HOME="/usr/java/jdk1.8.0_181-cloudera"
export SPARK_HOME="/opt/cloudera/parcels/CDH/lib/spark"
export HADOOP_CONF_DIR="/etc/hadooc/conf"

 

기본 설정은 이걸로 끝입니다ㅎㅎㅎ

 

3) 실행

 

이제 bin 디렉터리인 /opt/zeppelin/zeppelin-0.8.1-bin-all/bin

으로 이동 후 zeppelin-daemon.sh start 명령어만 수행해주면 됩니다.

 

cd /opt/zeppelin/zeppelin-0.8.1-bin-all/bin
./zeppelin-daemon.sh start

 

 

 

 

 

 

 

반응형

 

 

 

 

 

 

4. 사용 예제

이제 위까지 진행하셨다면 기본 포트인 8080으로 접속하시면 아래와 같은 화면을 볼 수 있습니다.

 

 

1) 로그인하기

 

로그인은 앞에서 봤던 shiro.ini 파일에 각 인증, 권한을 허용하는 유저를 등록할 수 있습니다.

앞에서는 딱히 건들지 않았기 때문에 아래와 같은 기본 유저를 사용하시면 됩니다.

 

 

저는 첫번째인 user1 에 password2로 로그인하였습니다.

 

2) 노트 생성하기

 

로그인을 했으니 아래 사진의 create new note 를 클릭하여 추가합니다.

 

저는 feeder라는 디렉터리에 compare를 추가했습니다.

 

 

3) pyspark 코드 실행

 

생성한 노트에 들어가면 아래와 같은 화면이 나옵니다.

 

 

pyspark를 사용하기 위해 %spark.pyspark 를 맨 상단에 추가해주시면 됩니다.

 

아래는 간단하게 rdd를 만들어서 출력해보는 예제입니다.

 

 

5. 마무리

 

이번에는 Apache Zeppelin 에 대해서 설치와 간단한 사용 예제를 포스팅하였습니다.

다음에는 CDH와 스파크 클라이언트 연동에 대해 포스팅하겠습니다.

반응형

'BigData > Spark' 카테고리의 다른 글

(8) CDH와 스파크 클라이언트 연동  (0) 2020.04.21
(6) 스트럭처 스트리밍  (0) 2020.03.31
(5) 스파크 스트리밍  (0) 2020.03.19
(4) 스파크 SQL  (0) 2020.03.17
(3) 스파크 설정  (0) 2020.03.13

+ Recent posts