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 값이 들어가 있다.

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 = 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개의 답글