개요
맥북에 Airflow 최신버전인 2.2.3
를 설치해보고 과정을 정리한다.
설치방식
설치방식은 아래 2개가 있다. 실제로는 k8s로 띄우는것도 있고 선택의 폭이 더 있을거라 생각한다. 이중에서 공부차원에서 pip로 직접 설치해 보기로 한다. 나아가 airflow dag를 로컬개발하여 검증하기에도 pip 방식이 가장 적합할것 같다.
- pip 설치
- docker-compose 띄우기
- helm or k8s
virtualenv 설치
pip 의존성으로 부터 멘탈을 지키기 위해 맥북에 virtualenv를 생성 후 pip 설치를 진행하기로 한다.
찾아보니 virtualenv가 없어 아래로 설치하였다.
이후 virtualenv profile 생성 후 활성화 해주자.
Airflow 설치
요약하면 pip를 통해 바이너리 실행이 가능하게 설치하는 것이다.
설치 설명링크를 참고하여 설치하면 된다.
export AIRFLOW_HOME=~/airflow
AIRFLOW_VERSION=2.2.3
PYTHON_VERSION="$(python --version | cut -d " " -f 2 | cut -d "." -f 1-2)"
CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"
pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"
airflow 실행방법 #1: standalone
이후 아래와 같이 실행후 localhost:8080
으로 접속하면 된다.
정상 로그가 올라온 뒤 콘솔에 찍힌 username, password로 브라우저에서 접속해보면 로그인 화면이 나온다.
기본 airflow/airflow로 로그인 하면 드디어 첫 구동화면을 볼 수 있다.
airflow 실행방법 #2: 계정 발급 및 실행
이 방법은 직접 사용할 계정을 발급 한 뒤 webserver, scheduler를 각각 띄우는 방법이다.
airflow db init
airflow users create --username admin --firstname kwangsik --lastname lee --role Admin --email lks21c@gmail.com
airflow webserver --port 8080
airflow scheduler
유의할점
- 위 airflow 실행 시 DB는 sqlite, executor는
SequentialExecutor
를 쓴다고 하니 성능 제약에 유의하자.