IT 삽질기

Airflow 2.0 설치하기(1) 본문

BigData/Airflow

Airflow 2.0 설치하기(1)

화이팅빌런 2021. 1. 27. 23:05

Airflow 2.0 설치하기

Airflow 2.0을 docker를 이용 centos에 설치해보도록 하자.

이 글에서는 centos를 이용하여 아무것도 없는 상태에서 설치를 진행하며 airflow 가이드문서에 따른 설치 방법은 아래의 글을 참고하기 바란다.

2021.05.13 - [BigData/Airflow] - Docker를 이용한 Airflow 2.0.2 실행하기(1)

Airflow에 대한 설명은 이전글 참고

2020/12/01 - [BigData/Airflow] - Airflow란?

 

Airflow란?

Airflow란? Airlfow는 Airbnb에서 개발한 워크플로우 스케쥴링, 모니터링 도구로 현재는 Apache 프로젝트가 되었다. Airflow는 DAG(Directed Acyclic Graph)라는 개념으로 동작하는데 python으로 DAG를 작성하고..

dydwnsekd.tistory.com

 

사용 docker이미지는 centos:centos7.9.2009를 사용한다

airflow에 접근하기 위해 docker Container를 올릴 때 -p 옵션을 주는 것도 잊지 말자

docker run -p 8080:8080 --name [Container name] -it centos:centos7.9.2009

위의 명령어를 이용해 docker Container를 실행시킨다

Airflow 2.0부터는 python3에 대한 지원만 하고 centos에는 기본적으로 python2만 설치되어 있기 때문에 필요한 yum을 이용해 python3와 필요한 몇몇 패키지들을 설치한다

yum install python3 python3-devel mysql-python vim
yum groupinstall "Development Tools"

위의 패키지를 설치하면 pip3도 같이 설치되니 pip명령어를 통해 확인해보자

pip의 버전이 너무 낮으니 pip Upgrade를 진행 (2021-01-27 기준 pip-21.0이 최신)

pip3 install -U pip

 

이제 Airflow 설치 스크립트를 이용해 Airflow를 설치해보자

공식 페이지에 있는 스크립트를 활용

airflow.apache.org/docs/apache-airflow/stable/installation.html

 

Installation — Airflow Documentation

 

airflow.apache.org

AIRFLOW_VERSION=2.0.0
PYTHON_VERSION="$(python --version | cut -d " " -f 2 | cut -d "." -f 1-2)"
# For example: 3.6
CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"
# For example: https://raw.githubusercontent.com/apache/airflow/constraints-1.10.14/constraints-3.6.txt
pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"

위의 스크립트를 그대로 사용하는 경우 PYTHON_VERSION이 python2 버전으로 설정되는데

python 명령어를 python3와 연결되도록 변경하거나 스크립트에서의 python명령어를 변경하면 된다

AIRFLOW_VERSION=2.0.0
PYTHON_VERSION="$(python3 --version | cut -d " " -f 2 | cut -d "." -f 1-2)"
# For example: 3.6
CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"
# For example: https://raw.githubusercontent.com/apache/airflow/constraints-1.10.14/constraints-3.6.txt
pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"

위의 스크립트 내용을 airflow.sh로 만들어보자

실행할 수 있도록 권한 변경

chmod 755 airflow.sh

이제 airflow.sh를 실행해 airflow를 설치해보자

./airflow.sh

정상적으로 설치가 완료되면 airflow version 명령어를 통해 확인하자

이렇게 airflow 설치가 완료되었다

airflow db init, user create, webserver를 올리는 방법은 다음 포스트에서 설명한다

 

2021.01.29 - [BigData/Airflow] - Airflow 2.0 설치하기(2)

'BigData > Airflow' 카테고리의 다른 글

Airflow 2.0 설치하기(3)  (0) 2021.03.21
Airflow 2.0 설치하기(2)  (0) 2021.01.29
Ambari-Airflow 연동하기  (0) 2020.12.22
Airflow 용어 및 기본 개념  (0) 2020.12.03
Airflow란?  (0) 2020.12.01
Comments