Size: a a a

2017 August 08

MS

Maks Skorokhod in Moscow Spark
подскажите, в какую сторону искать решение

spark on yarn, streaming - рабоатет стрим и всё хорошо, но если одна из машинок на кластере зависает, спарк выставляет всем екзекьютерам на ней DEAD и потом никогда больше не использует её. Даже если перезагрузить машину - в стрим она не возвращается.
для того что бы заново использовать эту машину - нужно полностью перезапускать стрим

сейчас использую статическую аллокацию, - на днях думаю попробовать динамическую, но основной вопрос, как будут ли возвращатся машины в стрим?

если выводить yarn node -list то машина в списке есть но число контейнеров на ней 0
источник

MS

Maks Skorokhod in Moscow Spark
источник

t

tenKe in Moscow Spark
Maks Skorokhod
подскажите, в какую сторону искать решение

spark on yarn, streaming - рабоатет стрим и всё хорошо, но если одна из машинок на кластере зависает, спарк выставляет всем екзекьютерам на ней DEAD и потом никогда больше не использует её. Даже если перезагрузить машину - в стрим она не возвращается.
для того что бы заново использовать эту машину - нужно полностью перезапускать стрим

сейчас использую статическую аллокацию, - на днях думаю попробовать динамическую, но основной вопрос, как будут ли возвращатся машины в стрим?

если выводить yarn node -list то машина в списке есть но число контейнеров на ней 0
я бы копнул логи Node Manager'а
источник

t

tenKe in Moscow Spark
ибо очень похоже что NM отваливается и после этого спарк не будет на этой ноде разворачивать роботов
источник

MS

Maks Skorokhod in Moscow Spark
ну да, даже в рамках эксперемента вырубали на некоторой машине nodemanager и она действительно выходила из стрима
собственно вопрос в том, как его перезапустить так что бы спарк подхватил на лету
источник

MS

Maks Skorokhod in Moscow Spark
для самого спарк сабмит пробовал разные настройки, типа spark.yarn.am.attemptFailuresValidityInterval,
spark.yarn.executor.failuresValidityInterval, spark.yarn.max.executor.failures но все они не дают ожидаемый результат
источник
2017 August 09

MS

Maks Skorokhod in Moscow Spark
более подробное рассмотрев происходящее - стало понятно, что на самом деле при падении машинок, спарк перераспределяет экзекьюторы и продолжает стрим
но теперь непонятно почему nodemanager не равномерно распределяет нагрузку на машины
в данном случае, почти все машины получают повышенную нагрузку, и число свободных ядер становится отрицательным, а одна из машин простаивает без нагрузки
источник

MS

Maks Skorokhod in Moscow Spark
источник

AP

Anton Pilipenko in Moscow Spark
На всякий посмотри что ноды в блеклист не попадают, не помню как у ярна но для хдфс надо их возвращать ручками
источник

MS

Maks Skorokhod in Moscow Spark
спасибо, попробую
источник
2017 September 04

EM

Egor Mateshuk in Moscow Spark
если просто восстановление после падения, то тут должно быть достаточно хранения оффсетов на стороне кафки
источник

NK

ID:1373407 in Moscow Spark
у нас был постгрес
источник

NK

ID:1373407 in Moscow Spark
аккумуляторы тоже хранили
источник

NK

ID:1373407 in Moscow Spark
проще руками двигать оффсеты
источник

EM

Egor Mateshuk in Moscow Spark
на уровне тестов. дальше понадобилось делать откат на конкретную точку по времени и тут пошли велосипеды
источник

EM

Egor Mateshuk in Moscow Spark
конкретно этот кейс не вряд ли - тут нам нужно было либо продолжать чтение, либо начинать его с последнего сообщения, но на флинке сброс оффсетов работал
источник

EM

Egor Mateshuk in Moscow Spark
больше возможностей в работе с потоками (например, более удобные оконные функции), быстрее обработка на уровне отдельной записи (поскольку спарк работает с mini batch, а flink с отдельными объектами) и в целом апи удобнее, чем в spark streaming, но готовых коннекторов меньше, более сырой, а с выходом structured streaming разница в удобстве совсем сокращается. я в свое время переписал просто кусок потоковой обработки с флинка на batch-обработку на спарке ради простоты и производительности. хотя есть пара  приложений, которые крутятся до сих пор на флинке и работают без проблем. имхо: если нужен более универсальный и распространенный инструмент, нет требований по доставке с задержкой менее 2 сек, то нужно использовать спарк. если есть время разобраться и допиливать иногда нужные интеграции , а задачи стоят только для потоковой обработки, то лучше флинк.
источник
2017 September 09

AT

Andrey Tsibulskiy in Moscow Spark
Не очень понял вопроса видимо, а чтл чекпоинты эту проблему не решают?
источник
2017 September 28

EM

Egor Mateshuk in Moscow Spark
всем привет. я тут начал копаться со structured streaming и есть несколько вещей, которые меня смущают в его работе. кто-то уже использовал это в проде?
источник

GP

Grigory Pomadchin in Moscow Spark
кто-то в https://t.me/hadoopusers точно пользовался // не реклама что-то такое помню
источник