Spark StandAlone 설치부터 예제 테스트까지.

Apache Spark™ is a fast and general engine for large-scale data processing.

이 글은 Apache Spark를 쉽게 설치하고 테스트해보기 위한 글 입니다.
 

Download and Install

설치가 간단하므로 아래 명령을 쭉 따라하시면 됩니다.

root@ubuntu:~# wget http://d3kbcqa49mib13.cloudfront.net/spark-2.1.0-bin-hadoop2.7.tgz

root@ubuntu:~# tar -zxvf spark-2.1.0-bin-hadoop2.7.tgz 

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./sbin/start-master.sh 

starting org.apache.spark.deploy.master.Master, logging to /root/spark-2.1.0-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-ubuntu.out

failed to launch: nice -n 0 /root/spark-2.1.0-bin-hadoop2.7/bin/spark-class org.apache.spark.deploy.master.Master –host ubuntu –port 7077 –webui-port 8080

  JAVA_HOME is not set <-- ERROR 입니다.(JAVA가 없다니..) 해결을 위해 아래 명령 실행!

full log in /root/spark-2.1.0-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-ubuntu.out

 

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# apt-get update

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# apt-get install default-jdk

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# apt-get install default-jre

 
 

Starting a Cluster Manually

마스터 시작에 앞서 저와 같이 localVM에서 테스트 하시는 경우면 hosts파일을 바꿔주는걸 추천 합니다.

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# vi /etc/hosts

127.0.0.1       localhost

#127.0.1.1      ubuntu

192.168.217.154 ubuntu

 
# 192.168.217.154는 Spark가 동작중인 ip입니다.
 
다음을 실행하여 Spark standalone 마스터를 시작합니다.

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./sbin/start-master.sh 

starting org.apache.spark.deploy.master.Master, logging to /root/spark-2.1.0-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-ubuntu.out

잘 실행됬나 확인해보죠. 브라우저에 Spark 설치한 ip:8080을 입력하시면 아래 화면처럼 나올 것입니다.
 

 
요기서 URL: spark://ubuntu:7077 이걸 확인 하시고 slave를 실행해줍니다.

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./sbin/start-slave.sh spark://ubuntu:7077

starting org.apache.spark.deploy.worker.Worker, logging to /root/spark-2.1.0-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-ubuntu.out

 
화면을 새로고침 하면,
 

 
Master, Slave를 각각 실행해봤는데요, 실행시 다음 옵션을 줄 수 있으니 참고 하시기 바랍니다.

Example>

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./sbin/start-slave.sh spark://ubuntu:7077 -m 1024M -c 2

 

Argument

Meaning

-h HOST–host HOST

Hostname to listen on

-i HOST–ip HOST

Hostname to listen on (deprecated, use -h or –host)

-p PORT–port PORT

Port for service to listen on (default: 7077 for master, random for worker)

–webui-port PORT

Port for web UI (default: 8080 for master, 8081 for worker)

-c CORES–cores CORES

Total CPU cores to allow Spark applications to use on the machine (default: all available); only on worker

-m MEM–memory MEM

Total 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 DIR

Directory to use for scratch space and job output logs (default: SPARK_HOME/work); only on worker

–properties-file FILE

Path to a custom Spark properties file to load (default: conf/spark-defaults.conf)

 
이렇게 설치와 실행이 끝났습니다.
 

Launch and test example

저는 python을 쓸 것이기 때문에 python-shell을 열어 봅시다.
 

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./bin/pyspark –master spark://ubuntu:7077

Python 2.7.12 (default, Nov 19 2016, 06:48:10) 

[GCC 5.4.0 20160609] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

Using Spark’s default log4j profile: org/apache/spark/log4j-defaults.properties

Setting default log level to “WARN”.

To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).

17/03/07 23:16:57 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

17/03/07 23:17:11 WARN ObjectStore: Failed to get database global_temp, returning NoSuchObjectException

Welcome to

      ____              __

     / __/__  ___ _____/ /__

    _\ \/ _ \/ _ `/ __/  ‘_/

   /__ / .__/\_,_/_/ /_/\_\   version 2.1.0

      /_/

Using Python version 2.7.12 (default, Nov 19 2016 06:48:10)

SparkSession available as ‘spark’.

>>> 

 
돌아가는거 확인 했으니 한번 돌려 봐야죠. Spark에 포함되어있는 machine learning library 중 naïve_bayes_example.py로 테스트 해보겠습니다. (혹시나 numpy가 필요하다고 하면 apt-get install python-pip -> pip install numpy를 해주세요^^)
 

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./bin/spark-submit –master spark://ubuntu:7077 examples/src/main/python/ml/naive_bayes_example.py 

 
… 쭉 화에 글자가 보이다가…
 

 

 

 
이렇게 Spark Standalone이 잘 돌아가는 것을 확인 했습니다.
별거 없죠? 뭐든 안해봐서 그렇지 막상 해보면 별거 없는데 항상 어려울거라는 두려움에 사로잡히지 마세요! 뭐 안되면 내일이 있으니까요. 
 
-End.

[출처] http://hellowuniverse.com/2017/03/08/spark-standalone-%EC%84%A4%EC%B9%98%EB%B6%80%ED%84%B0-%EC%98%88%EC%A0%9C-%ED%85%8C%EC%8A%A4%ED%8A%B8%EA%B9%8C%EC%A7%80/

 

Spark StandAlone 설치부터 예제 테스트까지.

Apache Spark™ is a fast and general engine for large-scale data processing.

이 글은 Apache Spark를 쉽게 설치하고 테스트해보기 위한 글 입니다.
 

Download and Install

설치가 간단하므로 아래 명령을 쭉 따라하시면 됩니다.

root@ubuntu:~# wget http://d3kbcqa49mib13.cloudfront.net/spark-2.1.0-bin-hadoop2.7.tgz

root@ubuntu:~# tar -zxvf spark-2.1.0-bin-hadoop2.7.tgz 

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./sbin/start-master.sh 

starting org.apache.spark.deploy.master.Master, logging to /root/spark-2.1.0-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-ubuntu.out

failed to launch: nice -n 0 /root/spark-2.1.0-bin-hadoop2.7/bin/spark-class org.apache.spark.deploy.master.Master –host ubuntu –port 7077 –webui-port 8080

  JAVA_HOME is not set <-- ERROR 입니다.(JAVA가 없다니..) 해결을 위해 아래 명령 실행!

full log in /root/spark-2.1.0-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-ubuntu.out

 

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# apt-get update

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# apt-get install default-jdk

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# apt-get install default-jre

 
 

Starting a Cluster Manually

마스터 시작에 앞서 저와 같이 localVM에서 테스트 하시는 경우면 hosts파일을 바꿔주는걸 추천 합니다.

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# vi /etc/hosts

127.0.0.1       localhost

#127.0.1.1      ubuntu

192.168.217.154 ubuntu

 
# 192.168.217.154는 Spark가 동작중인 ip입니다.
 
다음을 실행하여 Spark standalone 마스터를 시작합니다.

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./sbin/start-master.sh 

starting org.apache.spark.deploy.master.Master, logging to /root/spark-2.1.0-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-ubuntu.out

잘 실행됬나 확인해보죠. 브라우저에 Spark 설치한 ip:8080을 입력하시면 아래 화면처럼 나올 것입니다.
 

 
요기서 URL: spark://ubuntu:7077 이걸 확인 하시고 slave를 실행해줍니다.

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./sbin/start-slave.sh spark://ubuntu:7077

starting org.apache.spark.deploy.worker.Worker, logging to /root/spark-2.1.0-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-ubuntu.out

 
화면을 새로고침 하면,
 

 
Master, Slave를 각각 실행해봤는데요, 실행시 다음 옵션을 줄 수 있으니 참고 하시기 바랍니다.

Example>

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./sbin/start-slave.sh spark://ubuntu:7077 -m 1024M -c 2

 

Argument

Meaning

-h HOST–host HOST

Hostname to listen on

-i HOST–ip HOST

Hostname to listen on (deprecated, use -h or –host)

-p PORT–port PORT

Port for service to listen on (default: 7077 for master, random for worker)

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

–webui-port PORT

Port for web UI (default: 8080 for master, 8081 for worker)

-c CORES–cores CORES

Total CPU cores to allow Spark applications to use on the machine (default: all available); only on worker

-m MEM–memory MEM

Total 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 DIR

Directory to use for scratch space and job output logs (default: SPARK_HOME/work); only on worker

–properties-file FILE

Path to a custom Spark properties file to load (default: conf/spark-defaults.conf)

 
이렇게 설치와 실행이 끝났습니다.
 

Launch and test example

저는 python을 쓸 것이기 때문에 python-shell을 열어 봅시다.
 

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./bin/pyspark –master spark://ubuntu:7077

Python 2.7.12 (default, Nov 19 2016, 06:48:10) 

[GCC 5.4.0 20160609] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

Using Spark’s default log4j profile: org/apache/spark/log4j-defaults.properties

Setting default log level to “WARN”.

To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).

17/03/07 23:16:57 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

17/03/07 23:17:11 WARN ObjectStore: Failed to get database global_temp, returning NoSuchObjectException

Welcome to

      ____              __

     / __/__  ___ _____/ /__

    _\ \/ _ \/ _ `/ __/  ‘_/

   /__ / .__/\_,_/_/ /_/\_\   version 2.1.0

      /_/

Using Python version 2.7.12 (default, Nov 19 2016 06:48:10)

SparkSession available as ‘spark’.

>>> 

 
돌아가는거 확인 했으니 한번 돌려 봐야죠. Spark에 포함되어있는 machine learning library 중 naïve_bayes_example.py로 테스트 해보겠습니다. (혹시나 numpy가 필요하다고 하면 apt-get install python-pip -> pip install numpy를 해주세요^^)
 

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./bin/spark-submit –master spark://ubuntu:7077 examples/src/main/python/ml/naive_bayes_example.py 

 
… 쭉 화에 글자가 보이다가…
 

 

 

 
이렇게 Spark Standalone이 잘 돌아가는 것을 확인 했습니다.
별거 없죠? 뭐든 안해봐서 그렇지 막상 해보면 별거 없는데 항상 어려울거라는 두려움에 사로잡히지 마세요! 뭐 안되면 내일이 있으니까요. 
 
-End.

[출처] http://hellowuniverse.com/2017/03/08/spark-standalone-%EC%84%A4%EC%B9%98%EB%B6%80%ED%84%B0-%EC%98%88%EC%A0%9C-%ED%85%8C%EC%8A%A4%ED%8A%B8%EA%B9%8C%EC%A7%80/

 

 

Spark StandAlone 설치부터 예제 테스트까지.

Apache Spark™ is a fast and general engine for large-scale data processing.

이 글은 Apache Spark를 쉽게 설치하고 테스트해보기 위한 글 입니다.
 

Download and Install

설치가 간단하므로 아래 명령을 쭉 따라하시면 됩니다.

root@ubuntu:~# wget http://d3kbcqa49mib13.cloudfront.net/spark-2.1.0-bin-hadoop2.7.tgz

root@ubuntu:~# tar -zxvf spark-2.1.0-bin-hadoop2.7.tgz 

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./sbin/start-master.sh 

starting org.apache.spark.deploy.master.Master, logging to /root/spark-2.1.0-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-ubuntu.out

failed to launch: nice -n 0 /root/spark-2.1.0-bin-hadoop2.7/bin/spark-class org.apache.spark.deploy.master.Master –host ubuntu –port 7077 –webui-port 8080

  JAVA_HOME is not set <-- ERROR 입니다.(JAVA가 없다니..) 해결을 위해 아래 명령 실행!

full log in /root/spark-2.1.0-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-ubuntu.out

 

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# apt-get update

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# apt-get install default-jdk

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# apt-get install default-jre

 
 

Starting a Cluster Manually

마스터 시작에 앞서 저와 같이 localVM에서 테스트 하시는 경우면 hosts파일을 바꿔주는걸 추천 합니다.

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# vi /etc/hosts

127.0.0.1       localhost

#127.0.1.1      ubuntu

192.168.217.154 ubuntu

 
# 192.168.217.154는 Spark가 동작중인 ip입니다.
 
다음을 실행하여 Spark standalone 마스터를 시작합니다.

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./sbin/start-master.sh 

starting org.apache.spark.deploy.master.Master, logging to /root/spark-2.1.0-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-ubuntu.out

잘 실행됬나 확인해보죠. 브라우저에 Spark 설치한 ip:8080을 입력하시면 아래 화면처럼 나올 것입니다.
 

 
요기서 URL: spark://ubuntu:7077 이걸 확인 하시고 slave를 실행해줍니다.

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./sbin/start-slave.sh spark://ubuntu:7077

starting org.apache.spark.deploy.worker.Worker, logging to /root/spark-2.1.0-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-ubuntu.out

 
화면을 새로고침 하면,
 

 
Master, Slave를 각각 실행해봤는데요, 실행시 다음 옵션을 줄 수 있으니 참고 하시기 바랍니다.

Example>

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./sbin/start-slave.sh spark://ubuntu:7077 -m 1024M -c 2

 

Argument

Meaning

-h HOST–host HOST

Hostname to listen on

-i HOST–ip HOST

Hostname to listen on (deprecated, use -h or –host)

-p PORT–port PORT

Port for service to listen on (default: 7077 for master, random for worker)

–webui-port PORT

Port for web UI (default: 8080 for master, 8081 for worker)

-c CORES–cores CORES

Total CPU cores to allow Spark applications to use on the machine (default: all available); only on worker

-m MEM–memory MEM

Total 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 DIR

Directory to use for scratch space and job output logs (default: SPARK_HOME/work); only on worker

–properties-file FILE

Path to a custom Spark properties file to load (default: conf/spark-defaults.conf)

 
이렇게 설치와 실행이 끝났습니다.
 

Launch and test example

저는 python을 쓸 것이기 때문에 python-shell을 열어 봅시다.
 

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./bin/pyspark –master spark://ubuntu:7077

Python 2.7.12 (default, Nov 19 2016, 06:48:10) 

[GCC 5.4.0 20160609] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

Using Spark’s default log4j profile: org/apache/spark/log4j-defaults.properties

Setting default log level to “WARN”.

To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).

17/03/07 23:16:57 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

17/03/07 23:17:11 WARN ObjectStore: Failed to get database global_temp, returning NoSuchObjectException

Welcome to

      ____              __

     / __/__  ___ _____/ /__

    _\ \/ _ \/ _ `/ __/  ‘_/

   /__ / .__/\_,_/_/ /_/\_\   version 2.1.0

      /_/

Using Python version 2.7.12 (default, Nov 19 2016 06:48:10)

SparkSession available as ‘spark’.

>>> 

 
돌아가는거 확인 했으니 한번 돌려 봐야죠. Spark에 포함되어있는 machine learning library 중 naïve_bayes_example.py로 테스트 해보겠습니다. (혹시나 numpy가 필요하다고 하면 apt-get install python-pip -> pip install numpy를 해주세요^^)
 

root@ubuntu:~/spark-2.1.0-bin-hadoop2.7# ./bin/spark-submit –master spark://ubuntu:7077 examples/src/main/python/ml/naive_bayes_example.py 

 
… 쭉 화에 글자가 보이다가…
 

 

 

 
이렇게 Spark Standalone이 잘 돌아가는 것을 확인 했습니다.
별거 없죠? 뭐든 안해봐서 그렇지 막상 해보면 별거 없는데 항상 어려울거라는 두려움에 사로잡히지 마세요! 뭐 안되면 내일이 있으니까요. 
 
-End.

[출처] http://hellowuniverse.com/2017/03/08/spark-standalone-%EC%84%A4%EC%B9%98%EB%B6%80%ED%84%B0-%EC%98%88%EC%A0%9C-%ED%85%8C%EC%8A%A4%ED%8A%B8%EA%B9%8C%EC%A7%80/

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86759
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 79077
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95841
26 감석분석 작업 로그 : 감성분석(Sentiment Analysis) - 깔끔한 텍스트 방식(tidytext) : xwMOOC 자연어 처리 졸리운_곰 2019.12.24 1244
25 '애자일과 데이터 관리의 결합'··· '데이터옵스'의 정의와 주요 기술 file 졸리운_곰 2019.11.17 1684
24 데브옵스와 분석의 결합··· ‘데이터옵스’를 아시나요? file 졸리운_곰 2019.11.17 1240
23 데이터옵스(DATAOPS) 란 무엇일까? file 졸리운_곰 2019.11.17 1638
22 데이터옵스는 단순히 데이터에 대한 데브옵스가 아님니다. DataOps is NOT Just DevOps for Data file 졸리운_곰 2019.11.17 1638
21 R에서 파이썬까지…데이터과학 학습 사이트 8곳 file 졸리운_곰 2019.04.21 1758
20 [통계] prediction VS forecast file 졸리운_곰 2019.04.03 1582
19 forecast 와 prediction의 차이를 아시나요? 졸리운_곰 2019.04.03 899
18 10분만에 끝내는 데이터분석 file 졸리운_곰 2019.04.03 1867
17 처음으로 케글 데이터분석에 도전하기 : Competing on kaggle.com for the First Time file 졸리운_곰 2019.01.27 4409
16 데이터 과학자가 갖춰야 할 5가지 스킬셋 file 졸리운_곰 2018.11.11 1377
15 데이터 사이언스 괜찮은 강의들 리스트 1 file 졸리운_곰 2018.11.11 2468
14 데이터 사이언스 학습 안내 졸리운_곰 2018.11.11 1670
13 Prophet: Automatic Forecasting Procedure 자동 예측 프로시져 프로그램 /데이터분석 / 데이터 과학 file 졸리운_곰 2018.09.04 1314
12 데이터 분석 어디에 집중할 것인가? 가장 먼저 실험에 집중하라 file 졸리운_곰 2018.02.06 1403
11 빅데이터 융합기획전문가 1기 교육 표창장 file 졸리운_곰 2018.01.03 1316
10 빅 데이터 기획에 대한 이해 file 졸리운_곰 2017.12.09 2021
9 분야별 빅데이터 애널리틱스 적용 사례 및 성공의 비결 file 졸리운_곰 2017.12.08 2156
8 하둡 에코시스템을 활용한 Hybrid DW 구축 사례 file 졸리운_곰 2017.12.08 2004
7 gmail 수신 메일로 워드클라우드 생성 : Creating a gmail wordcloud 졸리운_곰 2017.11.20 1893
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED