-
Airflow Dag 관리를 위한 Jupyter Lab 설치하기etc. 2020. 12. 17. 10:39
python 파일로 이루어진 Airflow Dag를 관리하는 데에는 여러 방법이 있습니다.
가장 보편적으로 git을 이용하는 것,
그리고 데이터 분석 목적으로 사용하는 데는 이런 방법도 있다고 해서 적용해 봤습니다.
출처 : https://dodonam.tistory.com/156 물론 git처럼 버전 관리에 유용한 건 아니지만 jupyter notebook으로 테스트를 하면서 동시에 dag를 띄울 수 있어서
복잡하지 않은 dag를 관리하는 데는 나쁘지 않은 방법이라는 생각이 듭니다.
일단, docker를 통해 설치해 둔 airflow 컨테이너에 접속합니다.
docker exec -it airflow /bin/bash
앞의 airflow 세팅 과정에서 miniconda도 설치되어 있기 때문에 바로 jupyter lab 셋업으로 넘어갑니다.
2020/12/15 - [etc.] - Synology NAS - Docker Airflow 설치
Synology NAS - Docker Airflow 설치
2020/07/09 - [etc.] - Synology NAS -> Docker -> Jupyter Notebook 설치하기 Docker -> Jupyter Notebook 설치하기" data-og-description="설치환경 : Synology NAS DS218+ Synology NAS DSM -> Docker 패키지를..
datarami.tistory.com
설치는 간단합니다.
pip install jupyterlab
Jupyter notebook처럼, config파일을 생성해서 몇 가지 설정값을 수정해 줍니다.
jupyter lab --generate-config
설정 파일이 생성되는 기본 위치는 /root/.jupyter/ 입니다.
# jupyter lab 실행 시 자동으로 브라우저가 열리게 하는 설정 - 기본값 True c.NotebookApp.open_browser = False # jupyter lab의 ip 주소 - 기본값 'localhost' # docker를 이용해 띄웠기 때문에 dorker container의 IP 주소를 적용한다. c.NotebookApp.ip = '172.0.0.3' # jupyter lab의 port 번호 - 기본값 8000 # docker에 연결한 포트(airflow 웹서버와 다르게)로 설정한다. c.NotebookApp.port = 8000 # 접속을 허용할 ip 주소 - 기본값 "" # 외부 접속을 위해 모두 열어준다. 보안을 위해서라면 특정 ip만 여는 것을 추천 c.NotebookApp.allow_origin = "*"
추가로 jupyter lab의 password를 설정해야 합니다. 따로 설정하지 않으면 매번 token 값을 붙여넣어야 하는 불상사가...
최근 버전에서는 cmd 창에서 아래 명령어를 실행하고 패스워드를 입력한 후, jupyter lab을 재시작하면 됩니다.
jupyter notebook password
jupyter lab을 airflow dag 관리용으로 사용하기 위해 가장 중요한 설정!
바로 jupyter lab의 기본 디렉토리를 airflow dag를 열 수 있는 위치에 설정해주는 것입니다.
dag 폴더에 바로 지정해줄 수도 있지만, 다른 플러그인이나 테스트 파일 등을 저장하기 위해 한 단계 상위로 지정해주는 것을 추천합니다.
# airflow dag 디렉토리를 열 수 있는 위치를 지정한다. c.NotebookApp.notebook_dir = '/airflow'
이렇게 지정한 디렉토리에서 작업을 하고 나면 Airflow에도 반영되어 있는 것을 확인할 수 있습니다!
'etc.' 카테고리의 다른 글
Ubuntu에서 bash: ll: command not found 에러 해결 방법 (0) 2020.12.20 Airflow 이용해서 Slack Bot 만들기 - 기초 (0) 2020.12.17 Airflow Macro PythonOperator에 적용하기 (0) 2020.12.17 Synology NAS - Docker Airflow 설치 (0) 2020.12.15 노션 퍼블릭 페이지 커스텀 도메인 설정하기 (Cloudflare) (0) 2020.09.26