#apache-flink #amazon-kinesis #amazon-kinesis-analytics
Вопрос:
Мы используем Kinesis для Apache Flink для анализа различных событий посетителей из нескольких источников. В одном из операторов мы используем MapSate для расчета совокупных показателей. Приложение Flink было автоматически масштабировано 4 раза в течение одной недели выполнения. Проблема в том, что каждый раз при автоматическом масштабировании состояние оператора полностью сбрасывалось. В журналах нет сообщений об ошибках, кроме — » ПОЛУЧЕН СИГНАЛ 15: SIGTERM. Завершение работы по запросу». от TaskManagerRunner.
Задание использует следующую конфигурацию: Конфигурация контрольной точки использует режим по умолчанию и включена. Включено автоматическое масштабирование приложения. Конфигурация восстановления приложения — Обновление без моментального снимка. Государство не использует TTL.
Правильно ли я понимаю, что если нам нужно сохранить состояние после автоматического масштабирования, мы должны начать работу с конфигурацией RESTORE_FROM_LATEST_SNAPSHOT? Я думал, что это значение необходимо только для полного перезапуска приложения. Есть ли что-нибудь еще, что могло бы вызвать подобную проблему?
Комментарии:
1. Для автоматического масштабирования требуется полный перезапуск.
2. @DavidAnderson, так поможет ли в этом случае RESTORE_FROM_LATEST_SNAPSHOT? Делает ли kinesis снимок перед автоматическим масштабированием?
3. Согласно docs.aws.amazon.com/kinesisanalytics/latest/java/… «Если значение SnapshotsEnabled равно true в конфигурации ApplicationSnapshotConfiguration для приложения, Kinesis Data Analytics автоматически создает и использует моментальные снимки при обновлении, масштабировании или остановке приложения, чтобы обеспечить семантику обработки точно один раз».