본문 바로가기
Hadoop

Hadoop Cluster & Spark 설치하기 - 3.Spark 설치

by 대소니 2016. 12. 24.


지금까지 총 4대의 분산 환경 서버에 기본환경을 설정하고 Hadoop을 설치해보았습니다.

이번에는 MapReduce보다 빠른 속도에 분산환경을 지원하는 메모리 기반의 Spark를 설치하고 테스트를 해보겠습니다.



Spark 설치하기



1. Spark 버젼 확인


아래 사이트에 접속하여 설치하고자 하는 spark의 버젼을 확인합니다.

http://spark.apache.org/downloads.html



2. Spark 2.0.2 설치


# home으로 이동

$ cd ~


# 설치파일 다운로드

$ wget http://www.eu.apache.org/dist/spark/spark-2.0.2/spark-2.0.2-bin-hadoop2.7.tgz


# 압축 해제

$ tar -zxf spark-2.0.2-bin-hadoop2.7.tgz


# 디렉토리명 변경

$ mv spark-2.0.2-bin-hadoop2.7/ spark


# 환경 변수 설정

$ vi .bashrc

----------------------------------------------------------------------------------

export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

export SPARK_HOME=/home/hduser/spark

export PATH=$PATH:$SPARK_HOME/bin



3. Spark on YARN


yarn 위에서 Spark를 실행할 수 있습니다. 샘플 예제를 한번 실행해보도록 합니다.

cluster 모드는 다른 node에서 driver를 실행시키는 방식이고, client 모드는 자신의 node에서 driver를 실행시키는 방식이니 상황에 따라서 적절하게 사용하면 되겠습니다.


$ spark-submit --class org.apache.spark.examples.SparkPi \

    --master yarn \

    --deploy-mode cluster \

    --driver-memory 4g \

    --executor-memory 2g \

    --executor-cores 1 \

    ~/spark/examples/jars/spark-examples*.jar \

    10


$ spark-submit --class org.apache.spark.examples.SparkPi \

--master yarn \

--deploy-mode client \

    --driver-memory 4g \

    --executor-memory 2g \

    --executor-cores 1 \

    ~/spark/examples/jars/spark-examples*.jar \

10   



4. Spark in Standalone


Spark는 독립적인 모드로도 설치 및 수행이 가능합니다. 


### yarn에서 돌리려면 master에만 설치하면되지만, Standalone mode를 위해서는 모든 slave에 설치/배포

$ scp -r /home/hduser/spark ubuntu1:/home/hduser/spark

$ scp -r /home/hduser/spark ubuntu2:/home/hduser/spark

$ scp -r /home/hduser/spark ubuntu3:/home/hduser/spark


### master 서버에서만 이후 진행

### slave 서버들을 등록

$ vi ~/spark/conf/slaves

----------------------------------------------------------------------------------

ubuntu1

ubuntu2

ubuntu3


### 환경 설정

$ vi ~/spark/conf/spark-env.sh

----------------------------------------------------------------------------------

SPARK_WORKER_MEMORY=2g


### 서비스 시작/종료

$ ~/spark/sbin/start-all.sh

$ ~/spark/sbin/stop-all.sh


### web ui for spark

http://ubuntu0:8080


### 테스트

$ spark-submit \

     --master spark://ubuntu0:7077 \

     --class org.apache.spark.examples.SparkPi \

     ~/spark/examples/jars/spark-examples*.jar \

     100



예제가 잘 수행이 되면 정상적으로 설치 및 설정이 된것입니다.

web ui에서 해당 application들이 수행되는 모습을 모니터링 할 수 있으며, 결과와 로그도 볼 수 있습니다.


다음에는 간단한 튜토리얼 예제 프로그램을 통해서 분산처리 프로그래밍을 살펴보도록 하겠습니다.

길고 긴 설치과정을 따라 하시는냐 수고가 많으셨습니다.



5. Spark history server


Spark에서 제공하는 history server를 띄워보겠습니다. 디폴트 UI port는 18080입니다.


$ hadoop fs -mkdir -p /user/hduser/spark/history


$ sudo vi ~/spark/conf/spark-defaults.conf

----------------------------------------------------------------------------------

park.master                      spark://ubuntu0:7077

spark.eventLog.enabled         true

spark.eventLog.dir               hdfs://ubuntu0:9000/user/hduser/spark/history

spark.history.fs.logDirectory    hdfs://ubuntu0:9000/user/hduser/spark/history

spark.history.provider           org.apache.spark.deploy.history.FsHistoryProvider


$ ~/spark/sbin/start-history-server.sh




댓글