Airflow

Airflow | Airflow 설치, 가상 환경 내 Airflow 설치하기

토오오끼 2025. 7. 28. 20:01
728x90
반응형

 

Airflow 설치 방법에는 크게 두가지가 있다.

1. docker compose로 쉽고 간단하게 설치하기 -> https://iambeginnerdeveloper.tistory.com/322

2. 가상환경 내에 airflow 설치하여 환경 셋팅하기

 

이번엔 가상환경 내에 airflow를 설치하는 방법을 정리 하려고 한다.

 

1. 가상환경 생성

python3.10 -m venv env-airflow

 

2. airflow 설치

pip install apache-airflow

 

3. airflow 명령어 및 config 확인

airflow

cfg는 airflow 설정 파일로 airflow.cfg 파일 내용을 아래 명령어로 확인 가능하다.

airflow config list

 

4. DB 초기화

→ airflow에서 사용하는 db는 meta data를 넣기 위해서 기본으로 sqlite를 제공한다.

→ 이후에 mysql, postgresql로 변경해 진행하면 된다.

# db 초기화
airflow db reset --yes

# migration
airflow db migrate

→ migrate : 새 데이터베이스라면 migrate가 init 역할

→ reset : 기존 스키마, 데이터 삭제 후 재생성

sqlite3 /root/airflow/airflow.db ".tables" | grep session

→ db table에 session이 생성 되어 있으면 제대로 migration 된 것이다.

 

5. 유저 계정 생성

Airflow 3.x 버전부터는 기본 인증 매니저로 SimpleAuthManager가 설정되어 있어서 Flask-AppBuilder(FAB) 기반의 users, roles 등의 CLI 그룹이 로드 되지 않는다.

# FAB Provider 설치
pip install apache-airflow-providers-fab

→ 이 패키지가 Flask-AppBuilder 기반 인증, 사용자 관리를 담당

 

# airflow.cfg 설정 변경
export AIRFLOW__CORE__AUTH_MANAGER=airflow.providers.fab.auth_manager.fab_auth_manager.FabAuthManager

source ~/.bashrc
airflow users list

airflow users create --username "username" --password "passwd" --firstname "firstname" --lastname "lastname" --role Admin --email "email"

  • -username : 로그인 ID (필수)
  • -password : 비밀번호 (필수)
  • -firstname : 이름 (필수)
  • -lastname : 성 (필수)
  • -role : 사용자 역할
    • 기본 제공 역할: Admin, User, Op, Viewer 등
  • -email : 이메일 주소 (필수)

 

6. Webwerver 시작

airflow api-server --port 8080

→ default port : 8080

→ docker container 내부에서 작업 중이라면 container의 8080 port가 포워딩 되어 있어야 한다.

 

7. scheduler 실행

airflow scheduler

# background에서 실행
airflow scheduler --daemon

 

8. airflow 접속 확인

http://localhost:8080으로 접속 시 아래와 같이 로그인 창이 뜨면 로그인을 해 주면 된다.

728x90
반응형