brunch

You can make anything
by writing

C.S.Lewis

by 유윤식 Sep 03. 2018

Python: Spark-Kafka-Jupyter

# Jupyter, # Notebook, # 편해요, # BigData

Spark, kafka, 그리고 Python Jupyter 환경과 개발.


쥬피터 노트북은 편하다. 바로바로 실행하고 결과를 확인해 볼 수 있다.


앞선 포스팅에서 카프카, 스파크 관련 설치와 환경에 대해서 소개한 것 같다.

늘 그렇지만 자세히 어떻게 설치해야 한다라는 메뉴얼 같은 설명은 하지 않는다.


준비는 이렇다.

카프카의 주키퍼, 서버, 컨슈머, 프로듀서 를 각각 띄운다.

테스트도 해본다.

클러스터링은 하고 싶으면 해본다.

나는 도커(Docker)로 클러스터링을 이미 구축해서 사용중이다.


이제 쥬피터를 통해서 Notebook 을 이용한 kafka, Spark 작업을 해본다.


몇가지 설정이 필요하다.


jupyter notebook --generate-config

쥬피터는 pip 를 통해서 설치하시고, 위의 명령어로 conf 파일을 만들 수 있다.

보통 /root/.jupyter/jupyter_notebook_config.py 이곳에서 확인 할 수 있다.


많은 것을 고칠 필요는 없다.

ip 관련 설정을 : c.NotebookApp.ip = '*'

browser 관련 성정을 : c.NotebookApp.open_browser = False

port 관련 설정을 : c.NotebookApp.port = 8885

pass_word 또는 SSL 설정은 소신껏 알아서.


이제 spark 설정 부분을 고치자.

spark-default.conf 파일에서

"spark.driver.memory              10g" 자신의 리소스에 맞는 값을 넣어주자.


마지막으로

~/.bash_profile 에다가!

export PYSPARK_DRIVER_PYTHON=jupyter

export PYSPARK_DRIVER_PYTHON_OPTS='notebook --allow-root'


두 환경변수를 설정해주고!


재시작. reboot.


그다음.


테스트를 해봐야 하는데

간단한게 모듈을 붙여서 pyspark 를 작동시켜 본다.


pyspark --packages org.apache.kafka:kafka-clients:0.10.0.1,org.apache.spark:spark-sql-kafka-0-10_2.11:2.3.1


spark-sql-kafka 모듈이 핵심이다.


그럼 이런 로그를 확인 할 수 있다.



끝.


간단하게 실해을 시켜보면.



이제 더 열심히 개발을 할 수 있다.

재미도 있을 것이다.

작가의 이전글 Elasticsearch: Rolling Upgrade
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari