Flink Checkpoint Failure - Время ожидания контрольных точек через 10 минут - PullRequest
0 голосов
/ 25 апреля 2019

Мы получаем одну или две ошибки CheckPoint при обработке данных каждый день. Объем данных низкий, например, ниже 10 Кб, а наш интервал настройки составляет «2 минуты». (Причиной очень медленной обработки является то, что нам нужно передать данные в другую конечную точку API, которая занимает некоторое время для обработки в конце задания flink, поэтому время - Потоковая передача данных + прием на внешнюю конечную точку API).

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

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

Aim: Как избежать этой проблемы и записать правильное состояние, которое не пропускает никаких данных?

Сбой контрольной точки: введите описание изображения здесь

Завершенный контрольный пункт: введите описание изображения здесь

подзадача не отвечает введите описание изображения здесь

Спасибо

1 Ответ

0 голосов
/ 29 апреля 2019

Существует несколько связанных переменных конфигурации, которые вы можете установить - например, интервал между контрольными точками, пауза между контрольными точками и количество одновременных контрольных точек.Никакая комбинация этих настроек не приведет к пропуску данных для проверки.

Установка интервала между контрольными точками означает, что Flink не будет инициировать новую контрольную точку, пока не пройдет некоторое время с момента завершения (или сбоя) предыдущей контрольной точки - но это не влияет на время ожидания.

Звучит так, как будто вы должны увеличить время ожидания, которое вы можете сделать следующим образом:

env.getCheckpointConfig().setCheckpointTimeout(n);

, где n измеряется в миллисекундах.См. Раздел документов Flink по для включения и настройки контрольных точек для получения более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...