Size: a a a

2021 January 18

ST

Sergey Tarasenko in Airflow
Почему спрашиваю - у нас датадантистов человек 20, и мы прям заморачивались чтоб даги прям в момент паковались и улетали. Людям очень понравилось
источник

ST

Sergey Tarasenko in Airflow
При том что до этого пайплайн занимал около 15 минут
источник

AS

Artem Shevchenko in Airflow
@krasina15 расскажи пожалуйста как вы этого добились))
источник

VS

Vladislav 👻 Shishkov... in Airflow
У нас их чуть больше и мы делали, чтобы каждая команда/человек были почти независимы, ибо важнее сделать изолированность для ДС, чем каждому соблюдать условие "сидим на этой версии либы"
источник

VS

Vladislav 👻 Shishkov... in Airflow
А то что код доезжает до стейджа 5 минут, ну вот вообще пофиг, на фоне того, сколько он разрабатывается
источник

VS

Vladislav 👻 Shishkov... in Airflow
Я так понимаю, дсы у вас на чистом питоне без специфичных либ сидят? Т.е. никакие плюсы не нужны, либы компилить и собирать не надо? Спарк-сабмиты подготавливать тоже не надо?
источник

VS

Vladislav 👻 Shishkov... in Airflow
Просто непонятно, как вы сделали "моментом упаковку" и какой код приходит от разрабов? Ибо запаковать в зипку - это тоже время, причем не малое
источник

ST

Sergey Tarasenko in Airflow
Vladislav 👻 Shishkov
Просто непонятно, как вы сделали "моментом упаковку" и какой код приходит от разрабов? Ибо запаковать в зипку - это тоже время, причем не малое
15 секунд от кода до дагов в эйрфлоу, сейчас уже засыпаю, как будет время - напишу подробнее
источник
2021 January 19

VS

Vladislav 👻 Shishkov... in Airflow
А 200+ либ зависимостей вы не учитываете? 😬
источник

ME

Max Efremov in Airflow
А можно просто файлики с заменой закинуть по ssh 😂
источник

ME

Max Efremov in Airflow
Тоже довольно быстро, правда пока без тестов(
источник

ДН

Дмитрий Негреев... in Airflow
mkalinin
Люди, кто работает через Kubernetes Executor (когда таск запускается в отдельном поде), подскажите плиз, как мониторите работу с подами?  Кто нибудь вычисляет время запуска пода? Буду рад полезным ссылкам
Если хотите время запуска пода - собирайте метрики с kubelet, учётка привилегированная нужна правда.
Щас подумываем чтобы это делать через sidecar контейнеры, но выглядит сложнее.
источник

m

mkalinin in Airflow
Sergey Tarasenko
grafana для смотреть, influx для хранить, telegtaf как агент и ручная обвязка логики внутри python кода
Вопрос был вообще не про это)))
источник

ST

Sergey Tarasenko in Airflow
mkalinin
Вопрос был вообще не про это)))
тогда получается и ответ получился совсем не про то)))
источник

m

mkalinin in Airflow
Дмитрий Негреев
Если хотите время запуска пода - собирайте метрики с kubelet, учётка привилегированная нужна правда.
Щас подумываем чтобы это делать через sidecar контейнеры, но выглядит сложнее.
Спасибо за адекватный фидбек. Именно из-за специфики с привилегиями в корп кубере у меня и возникли такие вопросы. Мониторинг самого аирфлоу позволяет  считать лаг между ожидаемым и фактическим стартом даграна (dagrun...delay), а время на поднятие подов в офиц доке аирфлоу рекомендуют через стрим некого Kubernetes watcher'а - может это и есть kubelet?  Не поможете полезной ссылкой по теме?
--
Насчёт sidecar контейнеров - а какие метрики с подов в этом случае появятся? Метрики жизни самого пода и его состояний?
источник

m

mkalinin in Airflow
Метрики приложения аирфлоу из подов разве  возможны? Или с подов как раз и будут метрики воркера и оператор саксесс /фейл?
источник

ДН

Дмитрий Негреев... in Airflow
mkalinin
Спасибо за адекватный фидбек. Именно из-за специфики с привилегиями в корп кубере у меня и возникли такие вопросы. Мониторинг самого аирфлоу позволяет  считать лаг между ожидаемым и фактическим стартом даграна (dagrun...delay), а время на поднятие подов в офиц доке аирфлоу рекомендуют через стрим некого Kubernetes watcher'а - может это и есть kubelet?  Не поможете полезной ссылкой по теме?
--
Насчёт sidecar контейнеров - а какие метрики с подов в этом случае появятся? Метрики жизни самого пода и его состояний?
Ну наверно можно и через watcher смотреть. У нас команда администрирующая куб дает нам сама эти метрики, чтоб не насоветовать ерунды, лучше спросите где-то еще)
С sidecar нам больше интересны cpu/memory метрики, их можно как вариант получать из cgroup (можно и из kubelet, но у нас там свои особенности).

Ну дефолтные метрики же вроде читаются из базы всегда, какая разница как у вас задачи в af запускаются.
источник

m

mkalinin in Airflow
Дмитрий Негреев
Ну наверно можно и через watcher смотреть. У нас команда администрирующая куб дает нам сама эти метрики, чтоб не насоветовать ерунды, лучше спросите где-то еще)
С sidecar нам больше интересны cpu/memory метрики, их можно как вариант получать из cgroup (можно и из kubelet, но у нас там свои особенности).

Ну дефолтные метрики же вроде читаются из базы всегда, какая разница как у вас задачи в af запускаются.
Ок,спасибо за пояснения.
....
По дефолтным метрикам...
при использовании Kubernetes Executor часть аирфлоу метрик отсутствуют, к примеру ti_success,  ti_failed и ещё несколько. Потому и ищу обходные пути
источник

NB

Nikita Bolotin in Airflow
Всем привет.
Подскажите пожалуйста причину или укажите на ссылку, почему gunicorn webserver-а рестартует worker-ов.
Я подозреваю, чтобы увидеть новые даги, но не могу нигде найти подтверждение
источник

GB

Georgy Borodin in Airflow
Nikita Bolotin
Всем привет.
Подскажите пожалуйста причину или укажите на ссылку, почему gunicorn webserver-а рестартует worker-ов.
Я подозреваю, чтобы увидеть новые даги, но не могу нигде найти подтверждение
Точно не для парсинга дагов, есть такой параметр worker_refresh_batch_size https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#worker-refresh-batch-size, в зависимости от его значения, Airflow будет иногда грохать воркеров и поднимать новых. Зачем? Наверное, имеет смысл смотреть код. Но у них часто есть решения вида "если что-то деградирует – ребутай чаще"
источник