본문 바로가기
데이터엔지니어링/Airflow

docker 설치 후 airflow 설치하기 윈도우

by goemgoem-i 2024. 11. 21.
반응형

이전 내용에 이어서 이번엔 docker 설치한 후 airflow를 설치해볼 까한다

 

 

1. docker 활성화 시키기 

먼저 docker 활성화 된 상태인지 확인

 

2. GitHub에서 Docker Compose 예제 다운로드

그리고  Airflow를 Docker로 실행하기 위한 기본 설정 파일을 다운로드해야한다

docker-compose.yml 파일이 필요

GitHub에서 Airflow Docker Compose 파일을 다운로드

 

sudo apt update
sudo apt install git

먼저 git이 설치되어 있는지 확인하고

 

 

git clone https://github.com/apache/airflow.git
cd airflow

#docker위치 확인
cd scripts/docker-compose

git 파일 클론해서 불러오기

이러면 .airflow 전체 저장소가 ec2 서버에 다운로드됨

 

cd airflow
cd scripts/docker-compose

클론한 후, docker-compose.yaml 파일이 있는 디렉토리로 이동

 

 

ls

혹시나 docker-compose.yaml이 파일이 없다고 계속 오류 발생한다면

위 코드로 파일 존재하는지 확인

 

 

 

 

이렇게 github에서 다운 받는 방법도 있고

따로 새롭게 만드는 경우도 있다

#새 디렉토리 만들기 (Airflow 작업 디렉토리): 터미널을 열고 Airflow 작업할 디렉토리로 이동하거나 새로운 디렉토리를 생성
mkdir ~/airflow
cd ~/airflow

#docker-compose.yml 파일 생성
nano docker-compose.yml

#파일내용
version: '3' #에러나면 이 문장 제거

services:
  postgres:
    image: postgres:13
    environment:
      POSTGRES_USER: airflow
      POSTGRES_PASSWORD: airflow
      POSTGRES_DB: airflow
    volumes:
      - postgres-db-volume:/var/lib/postgresql/data
    networks:
      - airflow-net

  redis:
    image: redis:7.2
    networks:
      - airflow-net

  airflow-webserver:
    image: apache/airflow:2.7.0
    command: webserver
    ports:
      - "8080:8080"
    environment:
      - AIRFLOW__CORE__EXECUTOR=CeleryExecutor
      - AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=postgresql+psycopg2://airflow:airflow@postgres/airflow
      - AIRFLOW__CELERY__RESULT_BACKEND=db+postgresql://airflow:airflow@postgres/airflow
      - AIRFLOW__CELERY__BROKER_URL=redis://:@redis:6379/0
    depends_on:
      - postgres
      - redis
    networks:
      - airflow-net

  airflow-scheduler:
    image: apache/airflow:2.7.0
    command: scheduler
    depends_on:
      - airflow-webserver
    networks:
      - airflow-net

  airflow-worker:
    image: apache/airflow:2.7.0
    command: celery worker
    depends_on:
      - airflow-webserver
    networks:
      - airflow-net

networks:
  airflow-net:
    driver: bridge

volumes:
  postgres-db-volume:

 

 

 

2. GitHub에서 Docker Compose 예제 다운로드

docker-compose up

docker-compose up 실행

 

Airflow 웹 UI는 **http://localhost:8080 ** 에서 접근 가능

기본 로그인 정보는 사용자명: airflow, 비밀번호: airflow

 

백그라운드에서 실행 할 경우 : docker-compose up -d

 

반응형