데이터 공부/빅데이터 & 하둡

03. CentOS에 Spark 설치 + 에러 해결

한소희DE 2021. 6. 16. 19:45

안녕하세요 한소희입니다. 공부를 통해 배운 내용을 작성하고 있습니다. 혹여 해당 포스팅에서 잘못된 부분이 있을 경우, 알려주시면 빠르게 수정 조치하도록 하겠습니다. 감사합니다.

 

이전 포스팅에 이어서, CentOS가 깔린 버추얼박스 가상 머신에 spark를 깔아 볼 것이다.

 

이 또한 방법 자체는 어렵지 않다. 순서를 크게 정리해보자면

 

1. spark 설치 링크를 이용해, 가상머신 터미널에 명령어로 가져 온다.

2. 압축을 해제한다.

3. 환경변수를 설정한다.

 

이 세 가지 방법이면 손쉽게 설치가 가능하다! 하지만 중간중간 겪었던 오류나, 처음 설치하다 보니 헤맸던 기록을 한번 해보려고 한다.

 

 

 

 

 

 

 

 

목차

가상 머신에 Spark 설치 방법

가상 머신에서 Spark 환경변수 설정 방법

 

 


 

 

01. 가상머신에 Spark 설치 방법

 

스파크 다운로드 홈페이지에 들어가, 원하는 버전의 스파크 링크를 복사해준다.

 

나는 아래 링크와 같은 버전을 설치하기로 했다.

https://www.apache.org/dyn/closer.lua/spark/spark-2.4.8/spark-2.4.8-bin-hadoop2.7.tgz

 

이런 페이지에 들어가면, 링크가 서너 개 보이는데, 그중에서 backup sites 아래에 있는 링크를 가져와줘야 한다.

그 후, wget 명령을 통해 tgz 파일을 다운로드한다.

 

wget https://downloads.apache.org/spark/spark-2.4.8/spark-2.4.8-bin-hadoop2.7.tgz

 

다운로드가 다 됐으면, 압축을 풀어준다.

tar xvf spark-2.4.8-bin-hadoop2.7.tgz

 

이렇게 하면, 여러 개의 파일명이 뜨면서 압축이 풀린다.

여기까지가 스파크의 설치 과정이 되겠다!

 


 

02. 가상 머신에서 Spark 환경변수 설정 방법

그 후, 압축이 풀린 spark 폴더를 lib 위치로 옮겨준 뒤, spark 폴더에 링크를 등록하고, PATH에 spark를 등록해준다.

mv spark-2.4.8-bin-hadoop2.7 /usr/lib
sudo ln -s /usr/lib/spark-2.4.8-bin-hadoop2.7/ /usr/lib/spark
export PATH=$PATH:/usr/lib/spark/bin

 

그리고, 언제나 path에 등록된 상태를 유지하기 위해서, ~/.bashrc 파일에 path를 추가한다.

이는 아래 코드를 사용하면 된다.

 

# bashrc 폴더 여는 명령어
vi ~/.bashrc

# 해당 폴더에 작성해야 할 내용
export SPARK_HOME=/usr/lib/spark
export PATH=$PATH:$SPARK_HOME/bin

작성한 위치 및 코드는 이렇다!

 

그 후, JAVA 설치 때와 마찬가지로 작업한 내용을 Source 명령어로 반영될 수 있도록 한다.

source ~/.bashrc

 

이제 잘 실행되는지, spark-shell을 입력해 잘 작동되는지 확인해주면 된다.

 

 

2-1. No such file or directory 에러 발생

평화롭기만 하던 스파크 설치에 에러가 생겼다.

 

❓❗ 에러 살펴보기
No such file or directory: '/usr/lib/jvm'

 

분명 이전 포스팅에서처럼 자바 잘 설치했는데 이유가 뭘까... 정말 패닉이었다.

그래서 경로를 다시 한번 확인했는데도 환경변수에 정상적으로 잘 저장이 되어있었다.

 

 

자바를 재설치하고, 스파크를 재설치... 하던 와중... 원인을 알아냈다.

 

바로 Source 명령어로 변경된 내용을 적용하지 않았던 것! 그래서 이전 포스팅에서, source 명령어를 강조했던 것이다.

나의 경우, 중간에 자바 환경변수 경로를 수정했는데, 그걸 source 명령어를 주지 않아서 생긴 오류였다..^^

 

 

그래서 스파크와 자바 한 번씩 모두 source 명령해주고, spark-shell을 다시 실행해보니

 

 

아래와 같이 정상적인 스파크 그림이 나왔다!