Где хранятся контрольные точки по умолчанию в Apache Flink?

Я новичок в Apache Flink, и я изучал примеры Apache Flink. Я обнаружил, что в случае сбоя Flink имеет возможность восстановить потоковую обработку с контрольной точки.

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.enableCheckpointing(10000L);

Теперь мой вопрос: где Flink хранит контрольные точки по умолчанию?

Любая помощь приветствуется!

2 ответа

Решение

Flink представляет абстракцию StateBackends. StateBackend отвечает за локальное управление состоянием на рабочем узле, а также за проверку (и восстановление) состояния в удаленном местоположении.

По умолчанию StateBackend это MemoryStateBackend, Он поддерживает состояние в куче JVM рабочих (TaskManager) и устанавливает его в куче JVM мастера (JobManager). Следовательно MemoryStateBackend не требует никакой дополнительной настройки или внешней системы и хорош для локальной разработки. Однако он явно не масштабируется и подходит для любой серьезной рабочей нагрузки.

Флинк также обеспечивает FSStateBackend, который хранит локальное состояние также в рабочей куче JVM и проверяет его на удаленную файловую систему (HDFS, NFS, ...). Наконец, есть также RocksDBStateBackend, который хранит состояние во встроенном хранилище значений ключей на диске (RocksDB), а также контрольные точки для удаленной файловой системы (HDFS, NFS, ...).

Конечным состоянием по умолчанию является MemoryStateBackend. Означает, что он сохраняет данные в полете в JVM диспетчера задач и проверяет их в куче мастера (менеджера заданий). это хорошо для локальной отладки, но вы потеряете свои контрольные точки, если работа упадет.

Обычно для производства используют FsStateBackend с указанием пути к внешним файловым системам (HDFS,S3 и т. Д.). Он сохраняет данные о рейсах в JVM диспетчера задач и проверяет их во внешней файловой системе.

лайк

env.setStateBackend(new FsStateBackend("file:///apps/flink/checkpoint"));

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

Другие вопросы по тегам