Шаг 1 из 3

LocalExecutor это хорошо, но его становится недостаточно, когда количество задач растёт и одной машины становится мало. Для масштабирования Airflow рекомендуется использовать следующие типы исполнителей:

  1. CeleryExecutor
  2. DaskExecutor
  3. KubernetesExecutor

CeleryExecutor базируется на популярном в экосистеме Python менеджере задач Celery. Чтобы масштабировать Airflow с помощью Celery необходимо дополнительно установить зависимости:

pip install 'apache-airflow[celery]==2.0.1' --constraint https://raw.githubusercontent.com/apache/airflow/constraints-2.0.1/constraints-3.8.txt

Также для работы Celery необходим брокер сообщений. Среди популярных решений используется Redis или RabbitMQ. Если вы не работали с Celery, то рекомендую прочитать мою статью про нюансы работы с ним: Celery: начинаем правильно.

Я предпочитаю использовать в качестве брокера сервер Redis из-за простоты его настройки и дальнейшей работы с ним. Чтобы установить Redis выполните команду:

sudo apt-get install redis-server

Использовать CeleryExecutor рекомендуется в том случае, если одной машины с Apache Airflow становится недостаточно из-за количества задач или ограничений по её производительности. Если вы хотите масштабировать Airflow на 2 и более машины, то имейте в виду, что у всех этих машин должен быть доступ к центральному брокеру.

Комментарии

<> лишние

Спасибо за замечание, Иван! Эти символы вставляются при копировании из редактора 🥺