#apache-flink #flink-streaming
#apache-flink #flink-потоковая передача
Вопрос:
Я пытался перезапустить свой Apache Flink с предыдущей контрольной точки без особой удачи. Я загрузил код на GitHub, вот основной класс: https://github.com/edu05/wordcount/blob/restart/src/main/java/edu/streaming/AppWithKafka.java
Это простая программа подсчета слов, только я бы хотел, чтобы программа продолжила подсчет, который она уже рассчитала после перезапуска.
Я прочитал документы и попробовал несколько вещей, но должно быть что-то глупое, не мог бы кто-нибудь помочь?
Кроме того: конечная цель состоит в том, чтобы вывести вывод программы wordcount в сжатую тему kafka, как бы я мог загрузить состояние приложения, сначала используя сжатую тему, которая в данном случае служит как для вывода, так и для механизма контрольных точек программы?
Большое спасибо
Ответ №1:
Контрольные точки Flink предназначены для автоматического перезапуска после сбоев. Если вы хотите выполнить ручной перезапуск, используйте либо точку сохранения, либо внешнюю контрольную точку.
Если вы уже пробовали это и все еще испытываете проблемы, пожалуйста, предоставьте более подробную информацию о том, что вы пробовали.
Комментарии:
1. Привет, Дэвид, спасибо за интерес. Я обновил ветку, попытавшись запустить свое приложение с предварительно загруженным состоянием, в котором слово «mario» имеет значение 3 до обработки любых новых сообщений (я реализовал интерфейс CheckpointedFunction), но он выдает исключение. Исходный вариант использования более сложный, но для работы этого более простого сценария должно быть достаточно. Возможно, у нас также разные понятия о перезапуске. Для меня перезапуск представляет собой любое количество узлов (возможно, все), которые выходят из строя, происходят время от времени и не должны требовать ручного вмешательства, кроме перезапуска компьютеров.
2. Кстати, даже ранее отправленный код не перезапускается с того места, где он остановился, поэтому количество слов перезапускается при каждом запуске приложения: (
3. Не могли бы мы повторить этот вопрос, пожалуйста?