본문 바로가기
IT/CLOUD

리눅스 CentOS8 Spark 3.0.2 설치하기 . 빅데이터 스파크란

by SidePower 2021. 3. 6.

 

이제는 모든 산업이 IT와 융합하여

매일매일 거대한 데이터가 만들어지고 있습니다.

 

디지털 환경에서 생성되는 데이터는

문자와 숫자 그리고 영상 등.. 모두 포함되는데요.

 

이 방대한 양의 데이타를 활용하여

머신러닝 , 인공지능에도 날개를 달아줘 고속 성장을 했습니다.

 

 

 

현재.. 앞으로도 빅데이터 플랫폼은 스파크가 대세입니다.

 

스파크 간단한 소개

아파치 스파크(apache spark)는

아파치 하둡과 같이 빅데이타를 처리하는 플랫폼입니다.

스파크는 자바(Java)로 개발되었으며 사용을 위해선 Java 설치되어야 됩니다.

 

처리속도

동일한 작업에도

하둡의 맵리듀스보다 최대 100배 빠른 속도를 자랑하고 있습니다.

 

다양한 개발 언어 지원

자바 , 파이썬 , 스칼라 , R 언어 지원합니다.

 

간단한 API로 편의성 제공

하둡의 맵리듀스 구현시

메인, 매퍼, 리듀서 3개의 클래스를 기본으로 만들어야 됩니다.

그래서 하둡에서 하나의 기능은 최소 60~70줄 이상의 코딩을 필요했다면

스파크는 10줄 정도로 끝납니다.

 

통합 플랫폼

하둡은 다양한 기능을 위해

여러 도구가 따로 제공되었지만 스파크는 하나로 통합했습니다.

그래서 단일 프레임워크에서

실시간 스트림 데이타 처리

일괄 처리

그래픽 알고리즘

머신 러닝

기능들을 다  수행할수 있습니다.

 

 

빅데이터 플랫폼에서 왜 스파크가 대세인 이유를 아시겠죠. ^^

 

 

이제 간단하게 설치해 볼게요.

 

설치순서

1. 자바(JDK) 설치

2. PYTHON(파이썬) 설치

3. 아파치 스파크 다운 , 설치 , 환경설정

 

 

자바(JDK)는 1.8 이상 설치해 주세요.

자바 설치하기 설명 바로가기

 

Python(파이썬) 설치

python 설치하기 설명 바로가기

 

spark 다운로드 페이지 접속

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

Choose a Spark release : 최신버전 선택

Choose a package type : 하둡 최신버전 선택

      만약 하둡이 이미 설치되어 있다면

       Pre-built with user-provideed Apache Hadoop를 선택해주세요.

Download Spark : 다운로드 링크 클릭하세요.

 

 

다운로드 경로를 복사

https://downloads.apache.org/spark/spark-3.0.2/spark-3.0.2-bin-hadoop3.2.tgz 

 

 spark 설치 디렉터리 만들기

[sidepower@localhost ~]$  mkdir spark3.0.2 
[sidepower@localhost ~]$ ll
합계 0
drwxrwxr-x. 2 sidepower sidepower   6  2월 27 09:39 spark3.0.2
[sidepower@localhost ~]$

 

 wget 이용한 spark 설치 파일 다운로드

[sidepower@localhost ~]$ cd spark3.0.2
[sidepower@localhost spark3.0.2]$ ll
합계 0
[sidepower@localhost spark3.0.2]$ wget https://downloads.apache.org/spark/spark-3.0.2/spark-3.0.2-bin-hadoop3.2.tgz
--2021-02-27 09:40:36--  https://downloads.apache.org/spark/spark-3.0.2/spark-3.0.2-bin-hadoop3.2.tgz
Resolving downloads.apache.org (downloads.apache.org)... 88.99.95.219, 2a01:4f8:10a:201a::2
Connecting to downloads.apache.org (downloads.apache.org)|88.99.95.219|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 224619134 (214M) [application/x-gzip]
Saving to: ‘spark-3.0.2-bin-hadoop3.2.tgz’

spark-3.0.2-bin-hadoop3.2.tgz      100%[==============================================================>] 214.21M   880KB/s    in 4m 8s  

2021-02-27 09:44:45 (886 KB/s) - ‘spark-3.0.2-bin-hadoop3.2.tgz’ saved [224619134/224619134]

[sidepower@localhost spark3.0.2]$ 

 

 spark tar 풀기

[sidepower@localhost spark3.0.2]$ ll
합계 219356
-rw-rw-r--. 1 sidepower sidepower 224619134  2월 16 01:33 spark-3.0.2-bin-hadoop3.2.tgz
[sidepower@localhost spark3.0.2]$  tar -xzvf spark-3.0.2-bin-hadoop3.2.tgz 
spark-3.0.2-bin-hadoop3.2/
spark-3.0.2-bin-hadoop3.2/R/
spark-3.0.2-bin-hadoop3.2/R/lib/
spark-3.0.2-bin-hadoop3.2/R/lib/sparkr.zip
spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/
spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/worker/
spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/worker/worker.R
spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/worker/daemon.R
spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/tests/
spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/tests/testthat/
spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/tests/testthat/test_basic.R
spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/profile/
spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/profile/shell.R
spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/profile/general.R
....
....
spark-3.0.2-bin-hadoop3.2/jars/accessors-smart-1.2.jar
spark-3.0.2-bin-hadoop3.2/jars/ST4-4.0.4.jar
spark-3.0.2-bin-hadoop3.2/jars/RoaringBitmap-0.7.45.jar
spark-3.0.2-bin-hadoop3.2/jars/JTransforms-3.1.jar
spark-3.0.2-bin-hadoop3.2/jars/JLargeArrays-1.5.jar
spark-3.0.2-bin-hadoop3.2/jars/HikariCP-2.5.1.jar
spark-3.0.2-bin-hadoop3.2/RELEASE
[sidepower@localhost spark3.0.2]$
[sidepower@localhost spark3.0.2]$ ll
합계 219356
drwxr-xr-x. 13 sidepower sidepower       211  2월 16 01:32 spark-3.0.2-bin-hadoop3.2
-rw-rw-r--.  1 sidepower sidepower 224619134  2월 16 01:33 spark-3.0.2-bin-hadoop3.2.tgz

 

 디렉터리 간략하게 정리하기

spark home 지정
설치 경로가 길어서 ln 로 경로를 줄입니다.

[sidepower@localhost ~]$ ln -s /home/sidepower/spark3.0.2/spark-3.0.2-bin-hadoop3.2 spark
[sidepower@localhost ~]$ ll
합계 0
lrwxrwxrwx. 1 sidepower sidepower  52  2월 28 09:24 spark -> /home/sidepower/spark3.0.2/spark-3.0.2-bin-hadoop3.2
[sidepower@localhost ~]$ pwd
/home/sidepower


spark home -> /home/sidepower/spark

 

 spark 사용을 위한 환경설정하기

spark 환경추가
export SPARK_HOME=/home/sidepower/spark

pythone 환경추가
export PYSPARK_PYTHON=python3

③ profile 에 환경설정 
[sidepower@localhost ~]$ vi .bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

export SPARK_HOME=/home/sidepower/spark
export PYSPARK_PYTHON=python3

PATH=$PATH:.:$SPARK_HOME/bin
# User specific environment and startup programs

profile 적용
[sidepower@localhost ~]$ source .bash_profile

 

 spark 설치 확인하기

python(파이쎈) 설치 버전 확인

[sidepower@localhost ~]$ python3 --version

Python 3.6.8


spark 설치 버전 확인

[sidepower@localhost ~]$ pyspark --version

21/02/28 10:05:34 WARN Utils: Your hostname, localhost.localdomain resolves to a loopback address: 127.0.0.1; using 10.0.2.15 instead (on interface enp0s3)
21/02/28 10:05:34 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 3.0.2
      /_/
                       
Using Scala version 2.12.10, OpenJDK 64-Bit Server VM, 1.8.0_275
Branch HEAD
Compiled by user centos on 2021-02-16T06:09:22Z
Revision 648457905c4ea7d00e3d88048c63f360045f0714
Url https://gitbox.apache.org/repos/asf/spark.git
Type --help for more information.
[sidepower@localhost ~]$

 

 spark 실행하기

[sidepower@localhost ~]$ pyspark
Python 3.6.8 (default, Apr 16 2020, 01:36:27)
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
21/02/28 10:12:02 WARN Utils: Your hostname, localhost.localdomain resolves to a loopback address: 127.0.0.1; using 10.0.2.15 instead (on interface enp0s3)
21/02/28 10:12:02 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
21/02/28 10:12:02 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
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).
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 3.0.2
      /_/

Using Python version 3.6.8 (default, Apr 16 2020 01:36:27)
SparkSession available as 'spark'.
>>>
>>> quit()
[sidepower@localhost ~]$

 

드디어 설치가 완료되었네요. ^^

 

 

감사합니다.

반응형

댓글