본문 바로가기

Big Data/Spark

[Spark] Spark Standalone 설치

Spark Standalone 설치




1. Spark Download

https://spark.apache.org/downloads.html 에서  2.0.1을 다운받는다. PreBuilt for Hadoop으로 선택하고 받아 압출을 풀면 된다.




2. Master 실행

다운받은 zip파일을 압출을 풀고 sbin/start-master.sh 를 실행하면 master가 실행된다. 데몬으로 백그라운드로 돌아가기 때문에 터미널을 그대로 사용하면 된다.




Spark는 기본 WEB UI를 제공하기 때문에 정상적으로 실행됬는디 localhost:8080 에서 확인하자. 현재 Worker가 등록안되어 있기 때문에 아래 와같이 나타난다. 




3. Worker 실행

실행한 Master에 Worker를 등록한다. 현재 테스트로 동일노드에서 실행되지만 다른 노드에서 실행하는것처럼 다운로드 받은 Spark파을을 복사해서 다른 폴더로 복사해야 한다.

아래 그림처럼 Master의 Spark폴더를 그대로 복사해서 worker1로 만들었다.




복사한 폴더에서 sbin/start-slave.sh로 실행하면된다. 이떄 약간의 옵션이 필요하다.

기본적으로 sbin/start-slave.sh <Spark-URL> 이고 추가 옵션으로 Memory와 core 세팅을 했다.

이때 Spark URL은 WEB UI에서 확인 할 수 있고 Spark://...로 접근 가능하다. 그리고 메모리는 1024, core는 1개로 설정했다 (기본적으로 spark-shell을 사용하려면 1024M이 필요한듯 하다)


sh sbin/start-slave.sh spark://Minsubsui-MacBook-Pro.local:7077 -m 1024M -c 1



Master 와 Workder 실행에 대한 옵션이다. 



ArgumentMeaning
-h HOST--host HOSTHostname to listen on
-i HOST--ip HOSTHostname to listen on (deprecated, use -h or --host)
-p PORT--port PORTPort for service to listen on (default: 7077 for master, random for worker)
--webui-port PORTPort for web UI (default: 8080 for master, 8081 for worker)
-c CORES--cores CORESTotal CPU cores to allow Spark applications to use on the machine (default: all available); only on worker
-m MEM--memory MEMTotal amount of memory to allow Spark applications to use on the machine, in a format like 1000M or 2G (default: your machine's total RAM minus 1 GB); only on worker
-d DIR--work-dir DIRDirectory to use for scratch space and job output logs (default: SPARK_HOME/work); only on worker
--properties-file FILEPath to a custom Spark properties file to load (default: conf/spark-defaults.conf)


4. Spark Shell로 확인

위 작업을 다 수행했다면 WEB UI에서 아래와 같이 Worker 가 1개 등록이 되어있는 상태가 되어 있을 것이다.



여기서 Spark-shell로 간단하게 application을 실행해 보자.

bin/spark-shell 명령어로 간단히 인터렉티브로 실행되지만 여기에 옵션을 추가하면 standalone에 접속해서 실행이 가능하다.


명령어는 sh bin/spark-shell --master <Spark-URL> 이다.


실행해서 간단히 README.md 파일의 라인수를 카운팅하는 코드를 작성하고 WEB UI를 보면 running Application이 나타난다.












'Big Data > Spark' 카테고리의 다른 글

[Spark] Streaming Word Count 샘플 (Scala)  (0) 2016.12.08
[Spark] Word Count 샘플 (Scala)  (0) 2016.11.13