본문 바로가기
Database

Redis를 활용한 Celery Executor 설정

by BTC_최총무 2023. 6. 21.

베하~!!

 

오랜만이네요!! 인사통의 BTC_김회장, 최종무입니다!

 

 

오늘 함께할 주제는 Celery Executor입니다!!

 

Airflow의 Executor에 대해 잘 모르신다면 예전 포스팅을 함께 달아드리니 참고해주세요~

 

Airflow Executor

베하~~ 안녕하십니까!! 인사통의 BTC_김회장, 최총무입니다. 이번 포스팅에서는 Airflow의 Executor에 대해서 설명드리겠습니다!! 새로운 주제인 만큼 열정을 불태워보시죠~ 개요 Airflow Executor란? Airflow

btcd.tistory.com

 

이제 준비가 되었다면 오늘은 Celery Executor입니다!! 화이팅해서 가자구요!!

 

개요

  • Celery Executor란?
  • Redis를 활용한 Celery Executor 설치

1. Celery Executor란?

Celery Executor는 클러스터 형식으로 구성되고 MQ에 있는 task를 실행하는 구조로 동작하기 때문에 추가적으로 Redis나 RabbitMQ같은 MQ를 추가적으로 필요로 한다는 특징이 있습니다!!

출처 : https://dydwnsekd.tistory.com/98

위의 그림을 보시면 Celery Executor의 특징을 알 수 있는데요 분산 테스크 큐를 사용하여 작업을 여러 머신에 분산시키고 병렬로 실행할 수 있다는 특징이 있어 Local Executor와 달리 여러 머신에서 작동하기 때문에 구축의 난이도가 있는 편이지만 대규모 워크플로우에서 높은 확장성을 제공한다는 특징이 있습니다!!

 

이제 한번 같이 Celery Executor를 설정해볼까요??


2. Redis를 활용한 Celery Executor 설치

 

Celery Executor는 앞서 말씀드린대로 Redis나 RabbitMQ같은 MQ설치가 필수적이기 때문에 다른 Executor에 비해 구축 난이도가 있는 편입니다!!

 

혹시 Local Executor같은 기본적인 변경방법이 궁금하시다면 이전 포스팅에서 알려드렸으니 참고해주세요!!

 

[Airflow] MetaDB와 Executor 변경 실습

베하~~ 반갑습니다!! 인사통의 BTC_김회장, 최총무입니다. 지난 시간에 이어 오늘은 Airflow MetaDB와 Executor 변경 실습을 진행하겠습니다!! 혹시 이전 Executor에 대해 포스팅은 보지 않으신분들은 이해

btcd.tistory.com

 

저는 이전에 포스팅했던 airflow와 metadb변경까지는 진행한 상태에서 진행하도록 하겠습니다.

저는 우선 redis를 설치하여 메세지 브로커로 사용하도록 하겠습니다!

설치되었다면 큐/작업 스케줄링을 담당하는 celery까지 설치합니다!!

 

2가지 설치를 마치셨다면 설치하는 목록은 끝입니다!!

이제 설정만 해주면되는데요! 혹시 Executor 변경 설정은 어디에서 하는지 기억하고 계신가요?

airflow.cfg 파일을 떠올리셨다면 정답입니다!!

airflow.cfg에서 'executor =' 뒤에 변경할 executor를 적어주면 되는거였죠? 

하지만 여기에서 celery에게 어떤 브로커를 사용할지, 또한 어떤 metadb를 사용할지 한번 더 알려주는 작업이 필요합니다!

 

airflow.cfg 파일의 [celery] 탭에서 설정할 수 있습니다.

airflow.cfg에서 broker_url로 redis를 result_backend를 meta db인 postgresql을 지정해주도록 하겠습니다!!

이제 기존에 있던 airflow.db를 삭제하고 init을 해주게 되면 됩니다!!

 

이후 webserver와 scheduelr를 켜주시게 되면?

성공적으로 접속이 되었습니다!!

간단한 dag 동작까지 확인된다면 성공입니다!!


오늘은 Celery Executor에 대해서 알아보았습니다!!

점점 Executor에 대한 지식이 올라가고 있네요

 

다음 시간에는 Airflow Webserver에서 각종 ui 및 기능들에 대해 배워보도록 하겠습니다!!

 

그럼 포스팅까지 화이팅입니다!!

'Database' 카테고리의 다른 글

빅쿼리 개념 및 특징  (0) 2023.06.22
SQL과 기초 문법  (0) 2023.06.22
Snowflake VS Databricks  (0) 2023.06.21
[데이터 레이크하우스] Data Lakehouse  (0) 2023.06.19
Composer란  (0) 2023.06.08

댓글