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 86138
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 78637
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95364
15 [표준SQL] 퀴즈로 배우는 SQL : 전기 요금 계산 file 졸리운_곰 2024.08.10 1576
14 [표준SQL] 퀴즈로 배우는 SQL : 파이프 연결하기 file 졸리운_곰 2024.08.10 1320
13 [표준SQL] 퀴즈로 배우는 SQL : 공통점이 가장 많은 친구 찾기 file 졸리운_곰 2024.08.10 2114
12 [표준 SQL] 퀴즈로 배우는 SQL : 일별 누적 접속자 통계 구하기 file 졸리운_곰 2024.08.10 1683
11 [표준 SQL] 퀴즈로 배우는 SQL : 구분자로 나누어 행,열 바꾸기 file 졸리운_곰 2024.08.10 1884
10 [표준 SQL] 퀴즈로 배우는 SQL : 신입사원 부서 배치에 따른 급여 랭킹 시뮬레이션 file 졸리운_곰 2024.08.10 1340
9 [표준 SQL] 퀴즈로 배우는 SQL : 시작일, 종료일 사이의 휴일을 제외한 일수 구하기 file 졸리운_곰 2024.08.10 1478
8 [표준 SQL] 권순용의 DB 이야기 : 함수 기반 인덱스의 개념과 생성 이해 file 졸리운_곰 2024.08.10 1373
7 [표준 SQL] 퀴즈로 배우는 SQL : 계층 쿼리를 이용해 조직도 만들기 file 졸리운_곰 2024.08.10 2066
6 [표준 SQL] SQL을 잘한다는 기준은 무엇일까 file 졸리운_곰 2024.08.10 1340
5 [SQL] CRUD 기본 사용법 file 졸리운_곰 2023.01.23 1393
4 [기본 SQL] SELECT, INSERT, UPDATE, DELETE file 졸리운_곰 2022.04.26 1209
3 Mysql Join 해부(Left, Right, Outer, Inner Join) file 졸리운_곰 2019.01.30 1578
2 Join의 모든것.(LEFT OUTER, RIGHT OUTER, INNER, FULL OUTER, CROSS) 졸리운_곰 2019.01.30 1518
1 SELECT 문법 file 졸리운_곰 2017.11.22 2313
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED