Apache Airflow

[Apache Airflow] 설치 / 실행 (버전 2.3)

비번변경 2022. 7. 22. 22:26

Apache Airflow 설치

2022.07.18 - Apache Airflow란? 에서 Apache Airflow에 대해서 정리해보았으므로, 이 글에서는 설치 방법을 정리한다.

테스트 목적이므로 단일 로컬 서버에 설치해보고자 한다.

사용한 OS는 Ubuntu 20.04 arm64이며, Python 버전은 3.8이다. 또한 Apache Airflow 2.3 버전을 설치할 것이다.

 

 

로컬에서 설치

Airflow 공식 사이트의 로컬에서 Airflow 설치 문서를 따른다.

Airflow 설치에는 Python 3이 필요하고, pip를 통한 설치를 지원하고 있다.

 

1. (선택) python 가상 환경 생성

기존 python 환경에 영향이 없도록 별도의 가상 환경을 생성하여 사용할 것이다. 이 부분은 선택 사항이다.

# 가상 환경 생성
python3 -m venv ./airflow

# 활성화
source airflow/bin/activate

Python 가상 환경 virtualenv/venv 참고

2022.07.21 - [python3] venv 사용

2021.06.25 - [CentOS 7] virtualenv 설치 및 사용

 

 

2. Airflow 홈 디렉터리 설정

mkdir ~/airflow
export AIRFLOW_HOME=~/airflow

Airflow 홈 디렉터리 설정

 

3. Airflow 버전, Python 버전 설정

AIRFLOW_VERSION=2.3.2
PYTHON_VERSION="$(python --version | cut -d " " -f 2 | cut -d "." -f 1-2)"

Airflow 버전, Python 버전 설정

 

4. Airflow 설치 파일 경로 선언

CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"

Airflow 설치 파일 경로 선언

 

5. Airflow 설치

pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"

 

+ ERROR: Failed building wheel for blinker 에러 발생 시

ERROR: Failed building wheel for blinker 에러

내 경우, wheel 명령어가 설치되어 있지 않아 발생한 것 같다. pip로 설치하여 해결했다.

pip install wheel

 

6. 설치 확인

airflow version

airflow version

 

 

Airflow 실행

airflow standalone 명령으로 airflow를 초기화하고 실행할 수 있다.

standalone 명령을 실행하면 airflow 실행에 필요한 데이터베이스를 초기화하고 사용자를 생성한 뒤, 모든 컴포넌트가 시작된다.

Airflow는 기본적으로 8080 포트를 사용하므로, IP:8080 주소를 웹 브라우저에 입력하여 접근할 수 있다.

airflow standalone

Airflow 실행

 

로그인 시 필요한 정보는 터미널에 출력되어 있다.

admin 계정 정보

사용자 이름은 admin 고정이며, 비밀번호는 랜덤으로 생성된다. 로그인하면 DAG 예시들을 볼 수 있다.

로그인 후 화면

 

standalone 명령 대신 각 요소를 수동으로 실행시키고 싶다면 아래와 같이 실행하면 된다.

# DB 초기화
airflow db init

# 사용자 생성
airflow users create \
    --username admin \
    --firstname Peter \
    --lastname Parker \
    --role Admin \
    --email spiderman@superhero.org \
    --password PASSWD

# 웹 서버 시작
airflow webserver --port 8080

# 스케쥴러 시작
airflow scheduler

웹 서버와 스케쥴러를 백그라운드로 실행할 때는 -D 옵션을 추가하여 실행한다.

 

 

참고 문서

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

https://stackoverflow.com/questions/53204916/what-is-the-meaning-of-failed-building-wheel-for-x-in-pip-install

Airflow 간단하게 설치하기

https://velog.io/@jjongbumeee/Airflow3

728x90