본문 바로가기

docker

depends-on으로 Docker Container 실행 순서 설정하기 여러 개의 docker container를 docker-compose.yml로 구동시킬 때 재미있는 에러를 발견했다. 구동시킨 docker container는 web app, db(postgres), prometheus, grafana, rabbitmq 총 5개이고, 대략적인 프로세스는 2가지이다. web app에서 발생된 데이터를 rabbitmq queue에 저장한 뒤 일정 주기로 db에 저장하는 것 web app의 metrics를 prometheus로 수집하고 grafana로 대시보드를 만드는 것 docker-compose.yml을 만들고 실행을 시키니 web app container를 구동시킬 때 에러가 발생하였다. 그 이유는 web app container와 rabbitmq container를.. 더보기
Jupyter에서 Spark 사용하기 w.Python 이전 포스팅에 이어서 이번에는 Jupyter에서 간단하게 Spark를 사용해보고 Spark history server에 어떻게 기록되는지 알아보겠습니다. 1. Create Spark Session 우선 Jupyter에 접속해 테스트에 사용할 임의의 폴더를 만들고 Jupyter Notebook 파일을 생성하겠습니다. Notebook을 누르면 화면이 바뀌면서 팝업 창으로 커널을 선택하라고 나오게 되고 이때 Docker에 설치된 Python을 선택합니다. 오른쪽 상단에 선택한 언어의 이미지가 보이게됩니다. 이제 아래 예시 코드를 cell에 입력한 뒤 실행을 해주면 Spark Session이 생성됩니다. from pyspark.sql from SparkSession spark = SparkSession.buil.. 더보기
Docker로 Spark 환경 구축하기 그동안 진행했던 사이드 프로젝트들은 오히려 Spark를 사용하는 것이 오버 엔지니어링이 될 것 같아 이론만 주로 학습했었는데, 이제는 사이드 프로젝트에서도 Spark를 사용하기 위해서 직접 환경을 구축해 봤습니다. 이론은 패스트캠퍼스에서 강의를 듣고 있는데 spark 실습은 AWS EMR 상에서 이루어져 있기 때문에....! 이번에는 하나의 Docker Ubuntu에 Spark를 설치한 다음 Base Spark Image로 만들어 새롭게 Container로 만들어 Jupyter까지 설치해보겠습니다. 1. Docker Ubuntu에 Spark 설치 1-1. Docker Ubuntu Image를 가져온뒤 Container로 띄워주기 docker pull ubuntu:20.04 docker container.. 더보기