airflow
-
Airflow 의 Celery executor 의 custom configuration개발/Airflow 2023. 1. 9. 17:47
Airflow의 executor 를 celery 로 사용중에 configuration 을 수정해야할 경우가 있다. 예를 들어, database engine options 를 추가한다던지.. 이번 case는 celery의 result_backend 로 사용하는 mysql 과의 연결 관리를 위해 custom option을 추가한 case로 추가 설정에 대한 내용과, custom_celery_config를 적용하는 방법을 기술하도록 하겠다. celery config를 설정하는 방법은 세가지 정도로 파악을 했는데, celery config 파일을 수정 python dag 파일에서 직접 celery config를 import Airflow configuration을 통해, celery config 파일을 impo..
-
Use Airflow broker with redis sentinel개발/Airflow 2023. 1. 9. 11:10
Airflow 를 운영하며, HA에 대한 요건이 발생하여 단일 redis 로 사용중이던걸 redis sentinel 모드로 구성하였다. 8s 클러스터에 Airflow 를 구성하고, k8s 노드 fail 이 발생했을 시 단일 redis 의 container의 fail 이 동반하면 airflow의 기능이 동작하지 않기 때문에, 이를 방지하고자 여러 노드에 master, slave를 분산하여 HA를 보장하고자 하였다. Airflow was operated, and requirements for HA occurred, so what was being used as a single redis was configured in redis sentinel mode. Airflow is configured in the ..
-
How to use Airflow celery executor with redis sentinel개발/Airflow 2021. 5. 21. 00:59
Airflow 를 사용할 때 병렬화 처리가 필요하다면, celery executor나 kubernetes excutor의 사용이 필요하다. 이때 queue에 대한 broker 로 rabbitMQ나 redis를 사용할 수 있는데 이 글은 redis를 broker로 사용할때에 대한 이야기를 하려고 한다. Broker로 더 추천되는건 rabbitMQ이나 High Availability(HA)의 필요성이 있을때 redis가 구성에 잇점이 있다. Redis master-slave cluster를 구성한 후 Sentinel을 붙여 Redis의 고가용성을 보장하고, Airflow 의 read/write를 위하여 master로 연결하기위해 HAProxy를 연결할 수 있다. HAProxy역시 고가용성 구성을 위해 act..