Install Airflow

Let's Just Go·2023년 5월 28일

Airflow

목록 보기
1/1

Install Airflow

Structure

  • Scheduler
    • Airflow의 DAG와 작업을 모니터링하고 실행 순서와 상태 관리
  • Workers
    • Airflow의 작업 실행 공간
  • Metadata Database
    • Airflow에서 실행할 작업에 관한 정보 저장
  • Webserver
    • Airflow를 수행할 수 있는 UI제공
  • DAG Directory
    • Airflow에서 실행할 작업을 Pipeline형태로 저장

Install

ubuntu 20.04 LTS 사용

  1. Dependencies 설치

    • Airflow를 설치하기 전 설치 필요한 패키지 설치
    
    sudo apt-get update -y
    sudo apt-get install -y --no-install-recommends \
            freetds-bin \
            krb5-user \
            ldap-utils \
            libsasl2-2 \
            libsasl2-modules \
            libssl1.1 \
            locales  \
            lsb-release \
            sasl2-bin \
            sqlite3 \
            unixodbc \
            postgresql \
            python3-pip \
            python3-testresources

  1. 환경 변수 설정

    • 환경 변수 셋팅 진행
    • 필요한 Python , Airflow Version 입력
    • Airflow 기본 경로를 ‘~/airflow’로 설정하는 것을 권장
      • ~/airflow는 /home/username/airflow 의미
    export AIRFLOW_HOME=~/airflow
    export AIRFLOW_VERSION="2.1.2"
    export PYTHON_VERSION="$(python3 --version | cut -d " " -f 2 | cut -d "." -f 1-2)"
    export CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"
    export PATH=$PATH:/home/ubuntu/.local/bin

  2. Airflow 설치

    • 경로
      • /home/ubuntu/airflow
    • Version
      • Python 3.8.10
      • Airflow 2.1.2
    pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"

  1. DB 초기화
    • DB를 초기화 시키게 되면 airflow 디렉토리가 생성되고 airflow를 실행시키기 위한 파일 생성
      • airflow.cfg : airflow의 환경설정 파일
      • airflow.db : SQLite DB 파일
      • logs : airflow의 각종 로그를 관리
      • webserver_config.py : 웹서버 설정을 위한 config 파일
    airflow db init

  1. 사용자 생성

    • airflow 관리 및 사용하기 위한 사용자 계정 생성
    airflow users create \
    	--username admin \
    	--firstname admin \
    	--lastname admin \
    	--role Admin \
    	--email admin@naver.com

  1. Web Server 실행

    • Airflow를 관리하기 위한 Web UI 확인
    airflow webserver --port 8080

참고

https://yong27.tistory.com/47

profile
안녕하세요! 공부한 내용을 기록하는 공간입니다.

0개의 댓글