Airflow 간단하게 설치하기

최더디·2021년 10월 27일
1

Airflow

목록 보기
1/2
post-thumbnail

📌 Airflow 설치

로컬 환경에서 아주 간단하게 Airflow를 설치해보고 Webserver 까지 띄어보도록 하자.

1) 가상환경 생성 및 실행

나는 어떤 작업을 진행하기 전, 가상환경을 생성해 해당 작업만의 패키지들이 설치될 수 있도록 하는게 좋기 때문에 가상환경을 생성한다.

  • pyenv, virtualenv 를 통해 가상환경 생성하는 방법
# python version, 가상환경 이름은 원하는대로 생성
$ pyenv virtualenv {python-version} {가상환경이름}

# 예시
$ pyenv virtualenv 3.8.6 venv-test-airflow

# 가상환경 실행
$ pyenv activate venv-test-airflow
  • python3 를 통해 가상환경 생성하는 방법
# 가상환경 생성
$ python3 -m venv venv-test-airflow

# 가상환경 실행
$ source venv-test-airflow/bin/activate

2) Airflow 설치

가상환경을 실행했다면 Airflow 를 설치해보자.

$ pip install apache-airflow

3) DB 초기화

Airflow는 기본으로 sqllite를 사용한다.
아래 명령어를 실행하면 자신의 Home Directory에 airflow 폴더가 생성되는 것을 볼 수 있다.

$ airflow db init

4) 유저 계정 생성

Airflow Webserver 를 사용하기 위해서는 계정이 필요하다.

# 계정 생성 명령어 (\ 앞에 띄어쓰기 있어야함)
$ airflow users create \ 
> --username {Login_ID} \
> --firstname {First_NAME} \ 
> --lastname {Last_NAME} \
> --role Admin \              # 해당 부분은 고정
> --password {Password} \
> --email {Email}

# 한줄 명령어
$ airflow users create --username {Login_ID} --firstname {First_NAME} --lastname {Last_NAME} --role Admin --password {Password} --email {Email}

5) Webserver 띄우기

이제 Webserver 를 띄어보자.

# 기본 port = 8080
$ airflow webserver --port 8080

# 이 명령어로 해도 됨.
$ airflow webserver 

명령어를 실행하면 아래 이미지처럼 뜨면서 실행된다.
Host 부분을 보면 0.0.0.0:8080 으로 되어 있고, airflow 폴더에 airflow-webserver.pid 파일이 생성된다. 해당 파일을 cat 명령어를 통해 보면 아래 이미지 기준 57313 값이 들어가 있다.

airflow webserver 실행

6) Scheduler 실행

webserver를 띄웠다면 해당 터미널을 그대로 남겨두고, 새로운 터미널에서 scheduler를 실행시켜보자.

$ airflow scheduler

📌 결과

1) Webserver 실행 화면

localhost:8080 링크를 통해 들어가면 아래와 같은 페이지가 뜰 것이고, 4번에서 생성한 계정으로 로그인 해보자.

그러면 아래 이미지처럼 내가 DAG를 만들지도 않았는데, 엄청나게 많은 DAG들이 존재하는 것을 볼 수 있다.

2) Example DAGs 삭제

DAG를 각각 눌러 코드를 볼 수 있으니 궁금한 사람은 클릭해서 보도록 하고, 이러한 예제가 필요없다는 사람들은 예제 DAG들을 안 보이도록 해보자. 우선 Airflow 설정을 해주는 airflow.cfg 파일이 존재하는지 확인해보자.

# airflow 경로로 이동
$ cd ~/airflow

# airflow.cfg 있는지 확인
$ ls airflog.cfg
> airflow.cfg

airflow/airflow.cfg 파일이 존재한다면 해당 파일을 열어 쭉 내리다 보면 load_examples 부분이 존재하는데 True -> False 로 수정해보자.
load_examples 수정 전

load_examples 수정 후

load_examples = False로 변경하고 다시 Airflow Webserver 새로고침하면 아래 이미지처럼 Example DAGs 들이 모두 사라졌을 것이다. (만약, 새로고침을 해도 Exmaple DAGs 들이 남아있다면 airflow scheduler 를 실행했던 터미널을 열어 ctrl+c를 통해 종료 한 후, 다시 airflow scheduler 를 실행시켜보자)

📌 마무리

간단하게 로컬 환경에서 Airflow를 설치하고 Webserver까지 띄어보는 작업을 해봤다. 하지만 이것은 아주 기초적인 부분만 한 것이고, 추후에 계속해서 업그레이드를 해보자. 다음 글이 올라오기 전에 airflow.cfg 파일에 무슨 내용이 있는지 보면 도움이 많이 되는 것 같다.

<참고 링크>

profile
focus on why

2개의 댓글

comment-user-thumbnail
2022년 1월 14일

윈도우에서는 로컬에 설치 불가능한가요? 리눅스 환경에서만 로컬 설치 가능한지 궁금합니다.

1개의 답글