Flink резюме от внешнего вопроса контрольной точки - PullRequest
0 голосов
/ 03 апреля 2020

Я использую Flink, работающий внутри ECS, установленный с docker -flink . Я включил внешнюю контрольную точку на AWS S3 через state.checkpoints.dir до S3 в flink-conf.yaml.

Теперь в соответствии с документацией Flink здесь , если мы хотим возобновить работу с контрольной точки в В случае неудачи мы должны сказать bin/flink run -s :checkpointMetaDataPath [:runArgs], но я использую FLINK_HOME/bin standalone-job.sh start-foreground. Поэтому я не могу понять, как мое задание Flink будет возобновлено с внешней контрольной точки в случае сбоя.

Нужно ли нам иметь какой-либо параметр конфигурации для возобновления с контрольной точки? Не может ли JM как часть стратегии перезапуска автоматически считывать последние смещения из хранилища состояний? Я новичок во Флинке.

1 Ответ

1 голос
/ 03 апреля 2020

Один только указанный Dockerfile не запустит задание Flink. Он только запустит кластер сеанса Flink, который может выполнять задания Flink. Следующим шагом является использование bin/flink run для отправки работы. Как только у вас есть задание, которое включило контрольные точки через StreamExecutionEnvironment.enableCheckpointing, отправленное и запущенное, оно создаст контрольные точки в настроенном местоположении.

Если у вас сохранение контрольных точек включено , то вы можете отмените задание и возобновите его с контрольной точки с помощью bin/flink run -s ....

Кластер заданий

В случае, если вы запускаете кластер на задание, где образ уже содержит jars пользовательского кода, то вы можно возобновить с точки сохранения, запустив изображение с --fromSavepoint <SAVEPOINT_PATH> в качестве аргумента командной строки. Обратите внимание, что <SAVEPOINT_PATH> должен быть доступен из контейнера, в котором запущен менеджер заданий.

Обновление

Чтобы возобновить работу с контрольной точки при использовании standalone-job.sh, вам необходимо позвонить

FLINK_HOME/bin/standalone-job.sh start-foreground --fromSavepoint <SAVEPOINT/CHECKPOINT_PATH>
...