Воздушный поток 1.10.15. убивает задачи зомби, казалось бы, без всякой причины

# #google-cloud-platform #airflow #airflow-scheduler #google-cloud-composer

Вопрос:

Мы используем Cloud Composer (он же. Воздушный поток) на данный момент. Недавно мы обновились до последней версии composer-1.16.5-airflow-1.10.15 . С тех пор, как мы столкнулись с некоторыми проблемами, связанными с так называемыми задачами зомби.

Задачи зомби, похоже, возникают, если воздушный поток думает, что задача мертва, поэтому убивает ее. Решение о том, почему задача считается мертвой, окружает сердцебиение задачи, некоторые zombie_threshold и, конечно, рабочие ресурсы.

Обычно примерно через 250 секунд после запуска задачи она уничтожается воздушным потоком, помечая ее как задачу зомби. Но это происходит не со всеми задачами, а только с некоторыми из них.

Наша задача обычно заключается в запуске некоторого задания потока данных/потока данных, поэтому на самом деле у работника нет большой рабочей нагрузки. На самом деле GCP говорит мне, что я должен понизить рейтинг работников, чтобы сэкономить затраты, поскольку они мало что делают. Так что, похоже, это не проблема.

То, что я попытался тогда, — это установить эти конфигурации:

 core-store_dag_code                       = "False"
core-dagbag_import_timeout                = "180"
core-dag_file_processor_timeout           = "180"
scheduler-job_heartbeat_sec               = "5"
scheduler-scheduler_heartbeat_sec         = "5"
scheduler-scheduler_zombie_task_threshold = "600"
 

Ни одна из этих настроек, похоже, не имеет никакого эффекта.

Кто-нибудь знает об этой проблеме или имеет представление о том, что может помочь?

Комментарии:

1. Происходит ли это для какой-либо конкретной задачи/оператора? Как часто это происходит? Вы рассматривали возможность перехода на Airflow 2.0?

2. Это происходит с оператором заданий dataproc и оператором python потока данных. Я не видел этой проблемы с оператором bash…. Airflow 2-это всего лишь кандидат на выпуск в среде Google Cloud Composer.

3. Но это происходит не на каждой задаче, только на некоторых из них. И это несколько случайно. Иногда это работает, а иногда нет.

4. Некоторое время назад я попытался исправить ту же проблему, но безрезультатно. Если ваши задачи выполняются долго, вы можете рассмотреть возможность разделения отправки задания и ожидания результата на оператора и датчик с режимом переноса (если вы еще этого не сделали).

5. Это не то, что я хотел услышать. Возникает ли эта проблема в Airflow 2.0?