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 87046
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 79280
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 96012
22 Docker에서 SQL Server 컨테이너 이미지 구성 file 졸리운_곰 2020.01.23 1556
21 MSSQL 설치형 한글 환경으로 변경 file 졸리운_곰 2020.01.23 2891
20 PRIMARY KEY 와 FOREIGN KEY 를 전부 뽑아주는 쿼리 졸리운_곰 2018.12.16 1776
19 [MSSQL] CASE 문 . 조건에 따라 값 정하기 ! CASE WHEN THEN 졸리운_곰 2018.07.24 1575
18 Track Data Changes (SQL Server) file 졸리운_곰 2018.07.02 1310
17 Docker가 있는 SQL Server 2017 컨테이너 이미지를 실행 하는 빠른 시작 file 졸리운_곰 2018.06.26 1056
16 [MSSQL] Management Studio 이용해 데이터베이스 생성하기 file 졸리운_곰 2018.06.17 1285
15 [MSSQL - GROUP BY HAVING 을 이용한 중복 데이타 체크] file 졸리운_곰 2018.06.15 1286
14 [SQL] select 한 결과로 update 처리, SQL한문장, How to UPDATE from SELECT in SQL Server 졸리운_곰 2018.01.22 1474
13 UNION으로 결과 집합 조합 졸리운_곰 2017.08.27 1347
12 uniqueidentifier(Transact-SQL) file 가을의곰 2017.06.10 1757
11 하위 쿼리를 사용하여 다른 쿼리 또는 식에 쿼리 중첩 [MS-ACCESS : ms offce suit] 가을의곰 2017.06.10 1641
10 [MS-SQL] 테이블명, 컬럼명 검색 졸리운_곰 2017.04.17 1945
9 DB의 모든 테이블에서 데이터 검색 졸리운_곰 2017.04.17 1719
8 Microsoft SQL Server DBA 가이드-DBA라면 이정도는 알아야한다!!! file 졸리운_곰 2017.01.15 1304
7 SQL Server DBA 가이드 file 졸리운_곰 2017.01.15 1690
6 IDENTITY_INSERT가 OFF로 설정되면 ‘테이블명’ 테이블의 ID 열에 명시적 값을 삽입할 수 없습니다 file 졸리운_곰 2017.01.15 1511
5 MS SQL 서버에서 자동증가, autoincrement 처리 file 졸리운_곰 2017.01.15 1784
4 MS SQL 서버의 날짜, 시간 => 문자열 변환 포멧 설명 졸리운_곰 2017.01.15 1218
3 MS SQL 서버 코딩 표준 가이드 file 졸리운_곰 2017.01.14 1656
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED