[Airflow] 설치 및 개발환경 구성

CHAN LIM·2024년 2월 28일
0

Airflow

목록 보기
3/4
post-thumbnail

Airflow 설치

Airflow는 Linux에서만 구동이 가능하다.
(물론 Windows도 몇몇 설정을 진행하면 가능한데, 매끄럽지 않다.)


1. Linux 머신 준비

  • 물리 머신이든 가상 머신이든 WSL이든 뭐든 좋다.

2. Docker 설치

Docker에 관해서

Docker 공식 문서 기반으로 정리


2.1 apt 저장소 설정

새 호스트 머신에
처음으로 Docker 엔진을 설치하기 전에 Docker 저장소를 설정해야 한다.

# Docker 공식 GPG key를 추가한다.:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Apt 소스를 레포지토리에 추가한다.:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  
# apt 저장소 업데이트 한다.
sudo apt-get update

2.2 Docker 설치

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2.3 확인

sudo docker run hello-world

3. Airflow 설치

3.1 Airflow docker-compose.yaml 다운로드

Docker-Compose

쉽게 말해,
여러 개의 컨테이너를 실행하기 위함

curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.8.1/docker-compose.yaml'

3.2 환경 설정

mkdir -p ./dags ./logs ./plugins ./config
echo -e "AIRFLOW_UID=$(id -u)" > .env

dags, logs, plugins, config를 위한 디렉터리 생성

  • dags
    • Airflow DAG 파일들을 저장하는 디렉토리입니다.
    • DAG는 Airflow에서 작업 스케줄링을 정의하는 Python 스크립트입니다.
  • logs
    • Airflow 작업 실행 로그를 저장하는 디렉토리입니다.
  • plugins
    • Airflow 플러그인 모듈을 저장하는 디렉토리입니다. 플러그인은 Airflow의 기능을 확장하거나 사용자 정의 연산자를 추가하는 데 사용됩니다.
  • config
    • Airflow 구성 파일을 저장하는 디렉토리입니다.

Airflow 사용자에게 권한 부여

  • Airflow를 실행하는 사용자의 ID를 설정하는 것은 파일 및 디렉토리의 소유권과 권한 관리를 용이하게 만들어 줍니다.

3.3 Airflow 실행

sudo docker compose up airflow-init

이후, 머신에서 주소 창에 localhost:8080 입력 시,

접속할 수 있다.


개발환경

Airflow는 Python 기반이므로 Code작성이 불가피하다.
따라서,
VI나 IDE를 통해 Code를 작성하는데, 서버 컴퓨터에서 작업은
(자원이 넘쳐서 할 수도 있지만 미친놈이 아닌 이상) 하지 않으므로
Git을 통해 개발환경을 설정한다.


Flow

Local 환경에서 만든 dag를 컨테이너까지 배포하는 것이 목표이다.


1. Local에 Python 설치

Airflow를 실행하는 컨테이너의 Python 버전과 동일해야 한다.

# Airflow가 실행중이라고 가정하며,
sudo docker ps

# 컨테이너 내부로 진입하기
sudo docker exec -it {IMAGE 이름} bash

# python 버전 확인
python -V

Local에서 동일한 버전의 Python 설치
Python 다운로드 링크


2. IDE (VSCODE) 설치

VSCODE 링크

  • 설치 후, 특정 위치에 Airflow를 위한 폴더를 생성


3. Git, Github

Git과 Github에 관하여


3.1 git 설치 및 확인

git 설치 링크

# git 설치 후 동작하는지 cmd에서 확인
git


3.2 Airflow 폴더에 git 설정

# airflow 폴더 디렉터리에 접근 후,
git init

git add .

git commit -m "first commit"

로컬 Git 저장소와 Github Remote를 연결

git remote add origin https://github.com/~~~

profile
클라우드, 데이터, DevOps 엔지니어 지향 || 글보단 사진 지향

0개의 댓글