Я использую стек Apache Flink + RabbitMQ. Я знаю о возможности ручного запуска точек сохранения и восстановления заданий от них, но проблема в том, что Flink подтверждает сообщения после успешной контрольной точки, и если вы хотите создать состояние сохранения и восстановления, вы теряете все данные между последней успешной точкой сохранения и последней успешной контрольной точкой , Есть ли способ восстановить работу с контрольно-пропускного пункта? Это позволило бы решить проблему потери данных в случае нереверсируемых источников данных (например, rabbitmq). Кстати, если у нас есть контрольно-пропускные пункты со всеми их накладными расходами, почему бы пользователям не использовать их?Восстановить работу Apache Flink с контрольной точки
ответ
Концептуально, точка сохранения - это не что иное, как контрольная точка плюс немного метаданных. В обоих случаях (Savepoint и Checkpoint) Flink создает согласованную контрольную точку состояния всех операторов, источников и стоков.
Контрольные точки считаются внутренним механизмом восстановления отказа. Однако контрольные точки могут быть configured to be externalized checkpoints. Внешние контрольные точки автоматически не очищаются, когда задание завершается и может быть использовано для ручного перезапуска программы.
Ваша проблема с источником RabbitMQ заключается в том, что он как бы нарушает семантику контрольной точки Флинка, поскольку она подталкивает какое-то состояние во внешнюю систему путем подбора контрольной точки, которая не может быть сброшена.
Будет ли механизм запуска точки сохранения и немедленного завершения работы после этого решить вашу проблему? Это предотвратит запуск контрольной точки после того, как была сделана точка сохранения.
- 1. Как восстановить с контрольной точки при использовании прямого подхода python?
- 2. Apache Flink: «Ошибка при запуске контрольной точки в результате получения контрольного контрольного пункта»
- 3. Apache Flink с Elasticsearch
- 4. apache flink session support
- 5. Как восстановить файл контрольной точки при захвате тензорного потока (ckpt)?
- 6. Использование контрольной точки MPI
- 7. Apache Spark: потоковая передача без контрольной точки HDFS
- 8. flink-streaming-java недоступен в Apache Flink
- 9. Apache Flink - отслеживать максимум
- 10. Apache Flink Kafka Itegration
- 11. Watermarks в Apache Flink
- 12. Масштабирование потока Apache Flink
- 13. Хранение в Apache Flink
- 14. Apache Flink - org.apache.flink.client.program.ProgramInvocationException
- 15. Apache Flink создает неправильный план
- 16. Как отлаживать Apache Flink?
- 17. Apache Flink - groupBy
- 18. XmlInputFormat для Apache Flink
- 19. Значение знака контрольной точки
- 20. Механизм контрольной точки для Z3
- 21. Apache Spark (структурированная потоковая передача): поддержка контрольной точки S3
- 22. Apache Flume vs Apache Flink difference
- 23. Что такое мета-файл контрольной точки TensorFlow?
- 24. apache flink агрегация окна DataSet
- 25. Использование Apache Flink и RxJava
- 26. Apache Flink Streaming window WordCount
- 27. Flink Streamer в Apache Ignite
- 28. Ошибка Apache Flink RabbitMq SBT
- 29. Удаленная ошибка контрольной точки/вилки GDB
- 30. См. Содержимое файлов контрольной точки?
Да, это решило бы мою проблему. Есть ли способ завершить работу после точки сохранения? – user3237732
Нет. Это невозможно в настоящий момент, но будет добавлено, чтобы включить изменение масштаба работы, которое является постоянным усилием на данный момент. –