STUDY/GCP

GCP/ 가상 환경 및 PySpark, Jupyter notebook 설치

sh.ds 2023. 10. 17. 16:01
지난 포스팅에 이어 가상환경 구축을 마무리할 차례다.

SSH를 통해 인스턴스 터미널 진입

인스턴스를 SSH버튼의 브라우저 창에서 열기로 실행해준다.

 

 

이 화면에서 개발 환경을 구축할 코드들을 작성해야 한다.


MINICONDA 설치

opt 경로에서 설치를 진행할 것이다.

 

$ cd ../../opt

경로로 이동 시

user_id@instance_name:/opt$

의 형태로 터미널이 변함을 확인할 수 있다.

 

 https://docs.conda.io/projects/miniconda/en/latest/

페이지를 참조해 리눅스 환경에서 미니콘다를 설치하는 코드를 작성해준다.

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh

이후 

~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh

명령어를 실행해 주고 브라우저를 재실행한다.

위와 같이 (base)가 활성화되면 설치가 잘된 것이다.


JAVA 설치

 

java 설치를 위해 다시 opt로 경로를 이동한다. 그리고 아래의 코드를 작성한다.

(base) ***@***:/opt$ sudo apt update
(base) ***@***:/opt$ sudo apt install openjdk-8-jdk -y

vi 편집기를 통해 java의 환경변수 설정를 완료한다.

 

(base) ***@***:/opt$ vi ~/.bashrc

"""vi 편집기 진입"""
"""아래 코드 붙여넣기"""

# JAVA ENV SET
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib:$CLASS_PATH

 

 

🤔 vi 편집기가 익숙하지 않다면

더보기

  1. 문서 최하단으로 이동
  2. i를 눌러 insert 활성화
  3. 코드 붙여넣기
  4. escape 누른 후 :wq!

 

 

코드를 작성했다면 ▶ source ~/.bashrc 코드로 업데이트 해주면 설치가 완료된다.

 


스칼라 설치

 

스칼라를 설치하기 위해 아래의 코드를 작성한다.

(base) ***@***:/opt$ sudo apt-get install scala -y

설치가 완료되면 java와 똑같이 환경변수 설정을 완료한다. 코드는 아래와 같다.

# SCALA ENV SET
export SCALA_HOME=/usr/bin/scala
export PATH=$SCALA_HOME/bin:$PATH

스파크 설치

 

공부 목적이기 때문에 교재에 맞춰 스파크는 3.1.1 버전으로 설치한다.

다른 버전을 설치하기 위한 명령어가 필요하다면 https://spark.apache.org/downloads.html

을 통해 코드를 작성하면 된다.

(base) ***@***:/opt$ sudo wget https://archive.apache.org/dist/spark/spark-3.1.1/spark-3.1.1-bin-hadoop2.7.tgz
(base) ***@***:/opt$ sudo tar xvf spark-3.1.1-bin-hadoop2.7.tgz
(base) ***@***:/opt$ sudo mkdir spark
(base) ***@***:/opt$ sudo mv spark-3.1.1-bin-hadoop2.7/* /opt/spark/

다운로드가 무사히 끝났는지 확인하고 싶다면 ls를 통해 스파크 폴더에 아래 디렉토리와 파일이 존재 하는지 확인하면 된다.

LICENSE  R          RELEASE  conf  examples  kubernetes  python  yarn
NOTICE   README.md  bin      data  jars      licenses    sbin

마지막으로 환경변수를 설정한다.

# SPARK ENV SET
export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
export PYSPARK_PYTHON=/home/user_id/miniconda3/bin/python

PySpark 설치

spark 버전에 맞춰 pyspark를 설치한다.

(base) ***@***:/opt$ pip install pyspark==3.1.1

 

설치가 완료됐다면 실행해본다.

 

(base) ***@***:opt/spark$ cd $HOME
(base) ***@***:$ ls
(base) ***@***:$ pyspark

위와 같은 반응이 있다면 설치가 잘된 것이다. 

만일 반응이 제대로 나오지 않다면 spark 환경변수에서 user_id 부분을 실수로 빠뜨리지 않았는지, source를 통한 설정 적용을 했는지 확인해보자.


Jupyter notebook 설치

 

jupyter notebook을 설치한다.

(base) ***@***:$ conda install jupyter notebook

설치가 종료되면 설정을 바꿔줄 차례이다.

jupyter notebook의 config 파일을 만들고 vi편집기를 통해 이를 수정한다.

(base) ***@***:$ jupyter notebook --generate-config
Writing default config to: /home/user_id/.jupyter/jupyter_notebook_config.py

(base) ***@***:$ cd /home/user_id/
(base) ***@***:$ vi ~/.jupyter/jupyter_notebook_config.py

두 개의 코드를 바꿔줄 것인데 모두 주석을 제거하며 내용을 수정할 것이다. 

## Whether to allow the user to run the notebook as root.
#c.NotebookApp.allow_root = False """이 코드를 아래와 같이 바꾼다"""
c.NotebookApp.allow_root = True

## The IP address the notebook server will listen on.
#c.NotebookApp.ip = 'localhost' """이 코드를 아래와 같이 바꾼다"""
c.NotebookApp.ip = '0.0.0.0'

 

✅ vi 편집기 사용 중 특정 코드를 찾는 방법

더보기

/ 키를 눌러 검색을 하고 맞는 문자열에 Enter + i를 입력하면 수정할 수 있다.

 

이 코드를 통해 jupyter notebook을 실행하고 "인스턴스의 IP주소:8888"을 입력해 jupyter notebook에 접속할 수 있게 된다.

 

TOKEN 값 입력

주소를 입력해 jupyter notebook에 접속한다면 접속하기 전 아래와 같은 화면이 나온다. 이때는 ssh 브라우저에 나온 token값을 붙여 넣어주면 접속이 가능하다.

저 공란에 token을 넣어주면 된다.

위 사진에서 체크 표시된 토큰의 = 이후 부분을 복사해 붙여 넣으면 된다.

 

이것으로 GCP 환경에서 PySpark와 Jupyter Notebook의 설치가 끝났다.

 

 

 

 

'STUDY > GCP' 카테고리의 다른 글

GCP/ Streamlit과 BigQuery 구동하기  (0) 2023.10.18
GCP/ 프로젝트, 인스턴스 생성  (0) 2023.10.17