본문 바로가기
Data Engineer/Airflow

#1 Airflow 설치 (With Docker windows)

by 데이터현 2021. 8. 19.

회사에서 Airflow를 도입하게 되면서, 나도 제대로 정리할 겸 블로그에 시리즈 방식으로 정리할 계획이다.

 

Airflow documentation을 읽고 Docker 기반으로 Airflow를 설치했다.

https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html

 

Running Airflow in Docker — Airflow Documentation

 

airflow.apache.org

그럼 시작해보자.

먼저 하단 포스팅을 참고해서 Docker를 설치하자.

2021.08.14 - [Development Environment/Docker] - [Docker] windows에 Docker 설치하기

 

[Docker] windows에 Docker 설치하기

Docker를 windows에 설치해보자 https://docs.docker.com/docker-for-windows/install/ Install Docker Desktop on Windows docs.docker.com 위 사이트를 기준으로 설치하였다. https://hub.docker.com/editions/..

hkim-data.tistory.com

 

Docker를 설치하고 나면 airflow를 docker에 설치하기 위한 여러 필요 요소들이 정리되어 있는 docker-compose.yaml 파일을 다운로드하여야 한다.

 

내 포스팅을 따라했다면 WSL2 가 설치되어 있을 것이다. 나는 WSL2 환경에서 설치할 것이다.

 

윈도키에서 terminal 입력 후 terminal 창이 열리면 Ctrl+Shift+4를 누르거나

Ⅴ 버튼을 누르고 ubuntu를 클릭해서 ubuntu 환경으로 들어가자.

하단 명령어를 ubuntu 명령 창에 입력하자.

cd Desktop/ && mkdir docker && cd docker

간혹 ubuntu 시작경로가 다른 경우에(-bash: cd: Desktop: No such file or directory)는 그냥 원하는 경로에 docker 디렉터리를 만들어서 들어가자

mkdir docker && cd docker

 

 

이곳에 이제 docker-compose.yaml 를 다운로드할 것이다.

docker 디렉토리에 접속한 상태로 하단 명령어를 입력하자.

curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.1.2/docker-compose.yaml'

docker-compose.yaml이 잘 설치 되었다.

docker-compose.yaml으로 airflow를 설치하기 전에 환경 설정이 필요하다.

linux에서는 docker container가 사용할 용량과 linux filesystem 권한 등이 필요하다고 한다. 윈도에서 할걸 그랬나 보다.

기왕 한 김에 하단 명령어를 입력한다.

mkdir ./dags ./logs ./plugins
echo -e "AIRFLOW_UID=$(id -u)\nAIRFLOW_GID=0" > .env

복사 붙여넣기 후 엔터를 누르면 이렇게 잘 설정 됐다.

 

이제 하단 명령어를 통해 airflow에 필요한 각종 database 큐 redis 등이 설치된다.

docker-compose up airflow-init

명령어 입력시 자동으로 init된다 참 세상 좋다.

마치 컴퓨터를 잘하는 것 같은 착각을 불러일으키며 설치된다.

exited with code 0 가 되면 잘 설치 되었다.

자 이제 설치가 끝나고, airflow를 실행해 볼 차례다.

하단 명령어를 입력하자.

docker-compose up

반가운 모양이 보인다

잘 실행되는 것 같다.

 

지금 내 실력으론 엄두도 안 나지만 나중에 CLI(Command Line Interface) 환경에서 실행할 경우를 대비해서

다른 ubuntu terminal에서 하단 명령어를 입력해보자

docker-compose run airflow-worker airflow info

잘 되었다면 하단의. sh 파일을 다운로드하고 권한 변경하는 명령어를 입력하자

curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.1.2/airflow.sh'
chmod +x airflow.sh

잘 되었다

./airflow.sh info
./airflow.sh bash
./airflow.sh python

./airflow.sh info를 통해 정보 확인 가능하다고 한다.

./airflow.sh bash를 통해 bash shell container에서 상호작용 가능

./airflow.sh python를 통해 python contatiner에서 상호작용 가능

한 번씩 입력해봐도 좋다. - 나중에 좀 더 airflow & docker 대해 자세히 알게 되면 포스팅에 추가하거나 따로 다뤄 보겠다.
참고로 bash shell을 나오는 방법은 Ctrl + p + q 를 사용하면 된다.

 

docker ps를 입력하면 현재 돌아가는 container 정보를 볼 수 있다.

airflow 2.1.2 버전이 잘 돌아가고 있다.

인터넷 창을 켜서 http://localhost:8080를 입력하자 

airflow 2.1.2 버전 기준 default usernamepassword는 둘 다 airflow이다.

입력해보자

이로써 docker를 통해 airflow 설치가 완료되었다.

 

앞으로 포스팅에서 airflow documentation을 꼼꼼하게 정리해 볼 생각이다.

 

봐주신 분들 감사합니다.

댓글7