Size: a a a

2021 March 10

p

polniylyubvi in Airflow
Привет.
У меня даги ранятся параллельно. Некоторые из них потребляют намного больше ресурсов, чем другие.
Я добавил priority_weight, но он не особо помогает.
Насколько я понимаю количество запущеных субдагов = вес / пул ?
источник

A

Antony in Airflow
Alexander Kirshin
привет, хотел спросить у вас airflow в kubernetes развернут или  локально на хосте? у меня при создании DAG stack trace вываливается на то что там зивисимости с kubernetes какие то
локально

возможно ты все сразу установил, а там есть не совместимые между собой пакеты
источник

AK

Alexander Kirshin in Airflow
Antony
локально

возможно ты все сразу установил, а там есть не совместимые между собой пакеты
хмм, возможно ты прав, но я вроде для kuber пакеты не ставил в зависимостях
источник

GB

Georgy Borodin in Airflow
polniylyubvi
Привет.
У меня даги ранятся параллельно. Некоторые из них потребляют намного больше ресурсов, чем другие.
Я добавил priority_weight, но он не особо помогает.
Насколько я понимаю количество запущеных субдагов = вес / пул ?
Причём тут сабдаги?)
priority_weight – это для шедулера, если есть две таски, готовые попасть в запуск – приоритет той, у которой вес больше.
Пул – просто ограничение того, сколько тасков может быть одновременно запущено
источник

GB

Georgy Borodin in Airflow
polniylyubvi
Привет.
У меня даги ранятся параллельно. Некоторые из них потребляют намного больше ресурсов, чем другие.
Я добавил priority_weight, но он не особо помогает.
Насколько я понимаю количество запущеных субдагов = вес / пул ?
Задачу распределения по воркерам относительно ресурсов можно решить, используя queue. Одних воркеров подписать на одну очередь – других на с тяжелыми тасками
источник

AK

Alexander Kirshin in Airflow
Antony
локально

возможно ты все сразу установил, а там есть не совместимые между собой пакеты
вот такой stack trace - Broken DAG: [/root/airflow/dags/spark_dag.py] Traceback (most recent call last):
 File "/usr/local/lib/python3.8/site-packages/airflow/providers/apache/spark/hooks/spark_submit.py", line 32, in <module>
   from airflow.kubernetes import kube_client
 File "/usr/local/lib/python3.8/site-packages/airflow/kubernetes/kube_client.py", line 101, in <module>
   ) -> client.CoreV1Api:
NameError: name 'client' is not defined
источник

А

Антон in Airflow
может в конфиге где выставлен кубер?
источник

AK

Alexander Kirshin in Airflow
Антон
может в конфиге где выставлен кубер?
а где именно посмотреть в airflow.cfg?
источник

AK

Alexander Kirshin in Airflow
Антон
может в конфиге где выставлен кубер?
я сейчас установил с нуля и он дествительно требует пакеты для кубера как зависимость, но сейчас не ругается а просто не закидывает DAG вообще
источник

А

Антон in Airflow
какой командой устанавливал?
источник

А

Антон in Airflow
в конфиге в параметре executor
источник

AK

Alexander Kirshin in Airflow
Антон
какой командой устанавливал?
SequentialExecutor по дефолту - сейчас появился
источник

AK

Alexander Kirshin in Airflow
кстати
источник

AK

Alexander Kirshin in Airflow
но пока не проверил еще работу
источник

AK

Alexander Kirshin in Airflow
Антон
в конфиге в параметре executor
все отлично разобрался спасибо) единственный момент, как мне в аргументах передать то что у меня master нода  не yarn а spark://spark:7077
источник

AK

Alexander Kirshin in Airflow
может быть там есть именованный аргумент какой?
источник

М

Михаил in Airflow
Добрый день. Подскажите пожалуйста. Делаю SQL сенсор и пока в этом даге сенсор не отработает, остальные даги не выполняются, т.е. сам сесор постоянно в рабочем состоянии, хотя ожидание настроено на 30 минут
источник

М

Михаил in Airflow
На сколько я понял, сенсор должен проверить, есть ли нужная строка в таблице (это в моем случае), если нет, то засыпать и все остальные даги должны работать нормально
источник

V

Vadim in Airflow
День добрый, подскажите пожалуйста насколько нормально появление на доли секунд зомби процессов [airflow schedul] и мгновенное их прибитие(и так по кругу)?
источник

ФМ

Федор Мануковский... in Airflow
Михаил
На сколько я понял, сенсор должен проверить, есть ли нужная строка в таблице (это в моем случае), если нет, то засыпать и все остальные даги должны работать нормально
кажется, это mode='reschedule' у сенсора
источник