Airflow란
파이썬을 이용한 워크플로우 관리도구/ 솔루션
Cron기반의 스케줄링
# 선행작업
우분투 버전 확인하기
- 명령어: lsb_release -a
apt-get 업데이트 & python 설치
$ sudo apt-get update
$ sudo apt-get install -y pytnon3-pip
Postgres 설치 & Postgres계정 생성 + Postgres계정에서 airflow가 접속할 때 쓸 계정과 DB를 생성
$ sudo apt-get install -y postgresql postgresql-contrib
$ sudo su postgres
$ psql
postgres=# CREATE USER postgres PASSWORD 'airflow';
postgres=# CREATE DATABASE airflow;
postgres=# \q
$ exit
$ sudo service postgresql restart
postgreSQL 연결 드라이버 및 필요한 패키지 설치
$ pip install psycopg2
$ pip3 install cryptography psycopg2-binary boto3 botocore
# 설치 시작
1. Airflow 설치
$ pip install apache-airflow
2. Airflow setting
$ vim ~/.bashrc
export AIRFLOW_HOME=/home/cotlab/airflow
$ source ~/.bashrc
3. Airflow setting2
- airflow 폴더를 만들고
- airflow 폴더 내에서 dabs 폴더도 만든다
$ mkdir airflow
$ cd airflow
$ airflow db init
$ mkdir dags
3-1) dags 폴더 내에 dag파일 python으로 작성
4. airflow.cfg 수정 - database 설정(postgresql)
- vi /var/lib/airflow/airflow.cfg
sql_alchemy_conn = postgresql+psycopg2://<user>:<passswd>@localhost/airflow
5. airflow user 생성
airflow users create \
--username admin \
--role Admin \
--email admin@ \
--password PASSWD
6. Airflow 실행
$ airflow scheduler &
$ airflow webserver --port 8080 &
7. Airflow 접속
- http://localhost:8080
- 5에서 생성한 계정으로 로그인
- 로그인 후 화면 확인
- DAG파일에 오류가 있을 시 웹에서 확인 가능
참고
airflow 종료 명령어 : $ killall -9 airflow