땅지원
땅지원's Personal blog
땅지원
전체 방문자
오늘
어제
  • 전체 (353)
    • Frontend (2)
      • React (2)
    • Backend (90)
      • Java (16)
      • Python (19)
      • Spring (23)
      • Database (21)
      • Troubleshooting (8)
    • DevOps (27)
      • ELK (13)
    • CS (40)
    • OS (2)
      • Linux (2)
    • Algorithm (95)
      • concept (18)
      • Algorithm Problem (77)
    • 인공지능 (25)
      • 인공지능 (12)
      • 연구노트 (13)
    • 수업정리 (35)
      • 임베디드 시스템 (10)
      • 데이터통신 (17)
      • Linux (8)
    • 한국정보통신학회 (5)
      • 학술대회 (4)
      • 논문지 (1)
    • 수상기록 (8)
      • 수상기록 (6)
      • 특허 (2)
    • 삼성 청년 SW 아카데미 (6)
    • 42seoul (12)
    • Toy project (3)
    • 땅's 낙서장 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 20.11.6 BB21플러스 온라인 학술대회
  • 20.10.30 한국정보통신학회 온라인 학술대회

인기 글

태그

  • D
  • E
  • I
  • 이것이 리눅스다 with Rocky Linux9
  • ㅗ

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
땅지원
DevOps

[Airflow] Airflow 설치 (Docker)

[Airflow] Airflow 설치 (Docker)
DevOps

[Airflow] Airflow 설치 (Docker)

2024. 10. 22. 13:18

Airflow 릴리즈 정보 확인 : https://airflow.apache.org/announcements/
Running Airflow in Docker : https://airflow.apache.org/docs/apache-airflow/2.9.0/howto/docker-compose/index.html#

 

1. Fetching docker-compose.yaml

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

airflow-scheduler - 스케줄러는 모든 작업(task)과 DAG를 모니터링하고, 각 작업의 종속성이 완료되면 해당 작업 인스턴스를 실행
airflow-webserver - 웹서버는 http://localhost:8080에서 사용, port 변경 가능
airflow-worker - 스케줄러가 제공하는 작업을 실행하는 워커
airflow-triggerer - Triggerer는 deferrable task(대기 가능한 작업)를 위한 이벤트 루프를 실행
airflow-init - 초기화 서비스
postgres -  메인 DB → MySQL로 바꾸는 방법 존재
redis - 스케줄러에서 워커로 메시지를 전달하는 브로커 역할

* Optionally, you can enable flower by adding --profile flower option, e.g. docker compose --profile flower up, or by explicitly specifying it on the command line e.g. docker compose up flower.
flower - The flower app for monitoring the environment. It is available at http://localhost:5555.

docker-compose.yaml 파일에서 airflow-webserver ports 부분을 변경할 수 있다.

 



2.  Initializing Environment

컨테이너에 있는 일부 디렉터리는 마운트 되어있기 때문에 미리 폴더를 만들어줘야한다.

./dags - DAG 파일 추가
./logs - 작업 실행 및 스케줄러의 로그 저장 폴더
./config - 커스텀 로그 파서를 추가하거나 airflow_local_settings.py 파일을 추가해 클러스터 정책을 구성 가능
./plugins - 커스텀 플러그인 추가 

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


3. Initialize the database

docker compose up airflow-init


4-1. Running Airflow

docker compose up


ID : airflow
PWD : airflow


4-2 Running flower

Airflow 클러스터에서 작업 상태 및 진행 상황을 모니터링하기 위한 웹 기반 모니터링 툴


Flower는 주로 Airflow에서 사용되는 Celery Executor와 함께 사용되며, Celery의 작업 및 워커 상태를 실시간으로 모니터링할 수 있는 기능을 제공

<주요 기능>
작업(task) 상태 모니터링:  현재 실행 중인 작업, 성공 또는 실패한 작업을 실시간으로 확인 
워커(worker) 상태 확인: 워커의 상태, 사용 중인 메모리, CPU 자원 등을 모니터링
작업 리트라이 및 강제 실행: 실패한 작업을 Flower UI에서 직접 재시도하거나 다시 실행
실시간 로그: 각 작업의 로그를 실시간으로 확인
Celery 큐 모니터링: 각 큐의 작업 대기 상태를 볼 수 있어 작업이 병목을 일으키고 있는지 쉽게 파악

docker compose up flower




5. Stop and Delete Container

docker compose down

 

 

'DevOps' 카테고리의 다른 글

[Airflow] SlackAPIPostOperator 설정  (0) 2024.10.24
[Airflow] Connection 연결 시 [TEST] 버튼 비활성화 해결방법  (0) 2024.10.22
Dockerfile을 이용한 코드에 의한 서버 구축  (0) 2024.10.21
[Vector] Logstash 대체안 Vector  (0) 2024.04.19
[Grafana] Customizing Grafana Alerting Notification Templates  (0) 2024.03.08
  • 1. Fetching docker-compose.yaml
  • 2.  Initializing Environment
  • 3. Initialize the database
  • 4-1. Running Airflow
  • 5. Stop and Delete Container
'DevOps' 카테고리의 다른 글
  • [Airflow] SlackAPIPostOperator 설정
  • [Airflow] Connection 연결 시 [TEST] 버튼 비활성화 해결방법
  • Dockerfile을 이용한 코드에 의한 서버 구축
  • [Vector] Logstash 대체안 Vector
땅지원
땅지원
신입 개발자의 우당탕탕 기술 블로그

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.