Spark 2.4.0 отказоустойчивость структурированной потоковой передачи от Kafka

У меня возникают вопросы об отказоустойчивости в Spark Structured Streaming при чтении из kafka. Это из Руководства по программированию структурированной потоковой передачи:

В случае сбоя или преднамеренного завершения работы вы можете восстановить предыдущий ход выполнения и состояние предыдущего запроса и продолжить с того места, где он был остановлен. Это делается с помощью журналов контрольных точек и упреждающей записи.

1) Как перезапустить неудачный запрос? Можно ли это сделать автоматически?

Вы можете настроить запрос с местоположением контрольной точки, и запрос сохранит всю информацию о ходе выполнения (т.е. диапазон смещений, обработанных в каждом триггере) и запущенные агрегаты (например, количество слов в быстром примере) в расположение контрольной точки. Это расположение контрольной точки должно быть путем в файловой системе, совместимой с HDFS, и может быть установлено в качестве параметра в DataStreamWriter при запуске запроса.

2) Что будет, если вы не укажете расположение КПП? Выбрано ли местоположение по умолчанию или у вас нет гарантий отказоустойчивости? Можете ли вы указать в качестве расположения контрольной точки путь к локальной файловой системе, отличной от hdfs, отдельного узла?


person Panagiotis Fytas    schedule 07.03.2019    source источник
comment
stackoverflow.com/questions/55040102/ Если вы не включите это (укажите каталог контрольной точки), восстановление старых данных после перезапуска невозможно.   -  person shanmuga    schedule 07.03.2019


Ответы (1)


Вы можете найти ответ на свои вопросы в streamingcontext.java https://spark.apache.org/docs/2.2.0/api/java/org/apache/spark/streaming/StreamingContext.html

Отсутствие местоположения контрольной точки -

Если мы не укажем местоположение контрольной точки, мы не сможем восстановить в случае сбоя.

Местоположение контрольной точки по умолчанию

Местоположение контрольной точки по умолчанию отсутствует. нам нужно уточнить.

Расположение контрольной точки без использования HDFS

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

person Rohit Yadav    schedule 07.03.2019
comment
Можно ли использовать эти классы и для структурированной потоковой передачи? - person Panagiotis Fytas; 07.03.2019
comment
эти концепции также применимы к структурированной потоковой передаче - person Rohit Yadav; 09.03.2019