Восстановить MapState после перезапуска / отмены задания - PullRequest
0 голосов
/ 11 января 2019

Я должен объединить счет / сумму в потоке событий для различных объектов. Журналы событий (json str) принимаются от kafka и заполняют имя сущности карты как ключ, а значением является счетчик выборочных атрибутов как json str.

MapState sourceAggregationMap = getRuntimeContext (). GetMapState (sourceAggregationDesc);

для каждого потока событий, заполняющего значение.

проблема в том, что когда работа останавливается (не выполняется) / отменяется, а когда работа перезапускается, состояние карты не переинициализируется / восстанавливается. снова отсчет начинается с 0.

с использованием Apache Flink 1.6.0 state.backend: rocksdb

1 Ответ

0 голосов
/ 11 января 2019

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

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

В бэкэнде состояния RocksDB рабочее состояние сохраняется на локальном диске (в настраиваемом вами месте), а контрольные точки постоянно сохраняются в распределенной файловой системе (опять же, настраиваемой). Когда задание отменяется, контрольные точки обычно удаляются (поскольку они больше не понадобятся для восстановления), но их можно настроить на сохранение . Если ваши задания не восстанавливают свое состояние после сбоев, возможно, контрольные точки дают сбой или задание не выполняется до завершения первой контрольной точки. В веб-интерфейсе есть раздел, в котором отображается информация о контрольных точках, а в журналах также должна содержаться полезная информация.

...