본문 바로가기

카테고리 없음

[Airflow] 우분투(리눅스)에서 도커없이 에어플로우 설치 후 웹서버에서 DAG실행

Airflow란

파이썬을 이용한 워크플로우 관리도구/ 솔루션

Cron기반의 스케줄링

# 선행작업

우분투 버전 확인하기
  • 명령어: lsb_release -a

ubuntu version check

 

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

 

vim ~/.bashrc

 

3. Airflow setting2

  • airflow 폴더를 만들고 
  • airflow 폴더 내에서 dabs 폴더도 만든다
$ mkdir airflow
$ cd airflow
$ airflow db init
$ mkdir dags

ls

3-1) dags 폴더 내에 dag파일 python으로 작성

dags폴더 내 dag파일작성

 

4. airflow.cfg 수정 - database 설정(postgresql)

  • vi /var/lib/airflow/airflow.cfg
sql_alchemy_conn = postgresql+psycopg2://<user>:<passswd>@localhost/airflow

airflow.cfg

 

 

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에서 생성한 계정으로 로그인

로그인

  • 로그인 후 화면 확인

Airflow Web 화면

 

  • DAG파일에 오류가 있을 시 웹에서 확인 가능

DAG import error

 

 

 

 

 

 

 

 

참고
airflow 종료 명령어 : $ killall -9 airflow