Data Engineering

[Apache Airflow] Airflow 설치하기

minjiwoo 2023. 10. 22. 16:01
728x90

 

 

Apache Airflow 환경 구성

  • MacOS 환경
  • Python 3.8.10 버전
  • 단일 local server 

위의 환경에서 Apache Airflow 를 설치한다. 

우선, airflow 를 설치할 가상 환경을 생성한다.  

 python3 -m venv ./airflow

가상환경을 activate 시켜줍니다. 

 source airflow/bin/activate

다음으로 AIRFLOW_HOME 이라는 환경변수에 airflow 의 경로를 저장합니다. 

export AIRFLOW_HOME=~/airflow

echo 명령어로 환경변수가 잘 설정되었는지 확인합니다. 

airflow version 에 대한 환경 변수를 설정한다. airflow 2.7 version 은 Python 3.8, 3.9, 3.10, 3.11 을 지원한다. 

export AIRFLOW_VERSION=2.7.2

python version 에 대한 환경 변수를 설정한다. 

export PYTHON_VERSION="$(python3 --version | cut -d " " -f 2 | cut -d "." -f 1-2)"

다운로드 받을 airflow 의 url 을 환경 변수로 설정한다. 

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

pip 를 통해 airflow 를 설치한다. 

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

airflow version 을 확인하여 설치가 잘 되었는지 확인한다. 

airflow --version

Airflow 초기화하기 

1. standalone 명령어 (개발 환경에서만 사용하기)

airflow standalone 명령어를 통해 airflow 워크플로우 실행에 필요한 database가 초기화 되고, admin user 를 생성한다. 

airflow standalone

admin 이란 이름으로 password 까지 초기화되어 standalone 명령어가 airflow 환경을 초기 구성했다. 

airflow 는 기본적으로 8080번 포트를 사용하므로 localhost:8080 으로 접속한다. 위에서 확인한 user정보로 로그인한다. 

로그인하면 airflow에서 기본적으로 가지고 있는 example dags 들을 볼 수 있다. 

 

2. standalone 명령어를 manual 하게 구성하기 (Production 환경에서 추천)

airflow db migrate

airflow users create \
    --username admin \
    --firstname Peter \
    --lastname Parker \
    --role Admin \
    --email spiderman@superhero.org

airflow webserver --port 8080

airflow scheduler

 

Example DAGs 삭제하기 

  • airflow.cfg 에서 load_examples = False 로 설정을 바꾸면 된다. 

 

 

공식 문서 

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

 

Quick Start — Airflow Documentation

 

airflow.apache.org

 

728x90