회사에서 Airflow를 도입하게 되면서, 나도 제대로 정리할 겸 블로그에 시리즈 방식으로 정리할 계획이다.
Airflow documentation을 읽고 Docker 기반으로 Airflow를 설치했다.
https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html
그럼 시작해보자.
먼저 하단 포스팅을 참고해서 Docker를 설치하자.
2021.08.14 - [Development Environment/Docker] - [Docker] windows에 Docker 설치하기
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으로 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
마치 컴퓨터를 잘하는 것 같은 착각을 불러일으키며 설치된다.
자 이제 설치가 끝나고, 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 정보를 볼 수 있다.
인터넷 창을 켜서 http://localhost:8080를 입력하자
airflow 2.1.2 버전 기준 default username과 password는 둘 다 airflow이다.
입력해보자
이로써 docker를 통해 airflow 설치가 완료되었다.
앞으로 포스팅에서 airflow documentation을 꼼꼼하게 정리해 볼 생각이다.
봐주신 분들 감사합니다.
'Data Engineer > Airflow' 카테고리의 다른 글
#3 Airflow Concepts documentation 부수기 [Architecture] (0) | 2021.08.28 |
---|---|
#2 Airflow Tutorial documentation 부수기 (4) | 2021.08.26 |
댓글