pizzaplanet

Jupyter와 PySpark 연동 및 외부에서 Jupyter 접속하기 본문

ETC

Jupyter와 PySpark 연동 및 외부에서 Jupyter 접속하기

scio 2018. 10. 3. 22:35

데이터 전처리때 pyspark를 잠깐 써본적이 있었고 속도에 환희를 질렀었다.

pyspark를 좀 더 제대로 배워보고자 Learning PySpark를 구매하였고 배우기 위해 실습환경 구축이 필요했다.

원하는 실습환경은 원격으로 서버의 Jupyter로 접속하고 pyspark로 실행되는 것.


자 해보자.


Server OS: Ubuntu 18.04


JAVA설치, $JAVA_HOME 셋팅, Anaconda or (Python + Jupyter) 설치

는 생략한다.



Jupyter 외부접속시 사용할 패스워드 생성


1
$ python
cs

여기서 암호화 된 비밀번호를 복사해놓자.
1
2
3
4
5
6
from notebook.auth import passwd
passwd()
 
Enter password: [pw입력]
Verify password: [pw입력]
'sha1:?????????????????????????????????????????????????'
cs



Jupyter 설정 파일 생성

1
2
$ jupyter notebook --generate-config
$ sudo vi ~/.jupyter/jupyter_notebook_config.py
cs



Jupyter 설정 파일 수정

위에서 암호화했던 비밀번호를 복붙해주자.

1
2
3
4
5
c.NotebookApp.allow_origin = '*' #외부접속허용
c.NotebookApp.notebook_dir = '[원하는 경로 입력]' #작업경로설정
c.NotebookApp.open_browser = False #시작시 브라우저 오픈 안함
c.NotebookApp.password ='sha1:?????????????????????????????????????????????????' # PW 설정
c.NotebookApp.port = 8087 #외부접속 PORT
cs


PySpark 설치를 위한 MAVEN_OPTS 변경(안해주면 설치시 오류)

1
$ sudo vi ~/.bashrc
cs


1
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
cs


1
source ~/.bashrc
cs


PySpark 설치

1
2
3
4
$ wget https://archive.apache.org/dist/spark/spark-2.3.2/spark-2.3.2.tgz
$ tar -xvf ~/Downloads/spark-2.3.2.tgz
$ cd ~/Download/spark-2.3.2/bin
$ ./build/mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.0 -Phive -Phive-thriftserver -DskipTests clean package
cs



PySpark 설정 및 Jupyter와 연동

1
$ sudo vi ~/.bashrc
cs


1
2
3
4
export SPARK_HOME=~/Downloads/spark-2.3.2
export PATH=$SPARK_HOME/bin:$PATH
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook --ip=192.168.0.2'
cs


1
source ~/.bashrc
cs

PySpark와 연동된 Jupyter 실행

1
$ pyspark
cs



이제 [IP]:[PORT]로 접속하면 된다.

ex> 192.168.0.2:8087


비밀번호를 입력하고 즐기면 된다.


참고 - http://spark.apache.org/docs/latest/building-spark.html#setting-up-mavens-memory-usage

Comments