반응형
이전 내용에 이어서 이번엔 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
반응형
'데이터엔지니어링 > Airflow' 카테고리의 다른 글
gcp 코드 4003에러 해결 : Cloud Identity-Aware Proxy를 통한 연결 실패 VM에 IP 범위 35.235.240.0/20, 포트 22에서 오는 TCP 인그레스 트래픽을 허용하는 방화벽 규칙 (0) | 2024.11.23 |
---|---|
트랜잭션과 aws ec2에 docker 설치 윈도우 버전 (1) | 2024.11.23 |
키움 open api에서 데이터 가지고 오기 (3) | 2024.11.22 |
airflow ec2로 설치 터미널 가상환경 열어서 설치 / sudo의 사용이유 (1) | 2024.11.19 |
데이터 파이프라인(ETL/ELT) 과 AirFlow DAG의 구조 및 개념 (0) | 2024.11.18 |