Используя Flink 1.7.2 и YARN 2.8, я тестирую функцию восстановления кластера Flink, и кластер Flink High Availability был восстановлен по истечении максимального времени попыток в моей среде.
Я установил yarn.resourcemanager.am.max-attempts
, который является свойством конфигурации YARN, на 2
, а yarn.application-attempts
, который является свойством конфигурации Flink, на 5
.
Сначала я развернул сеансовый кластер Flink с настройками NON HA в YARN и остановил JobManager командой kill.
Кластер Flink перешел в состояние FAILED после двухкратной остановки JobManager.
Я думаю, значение yarn.resourcemanager.am.max-attempts
повлияло на это поведение.
Однако, когда я развернул HA Flink Cluster, кластер Flink был восстановлен, даже если я остановил JobManager более 5 раз.
YARN увеличивает число попыток приложения и многократно восстанавливает кластер Flink и задание конвейера.
Интересно, почему кластер Flink может быть восстановлен больше, чем значение yarn.resourcemanager.am.max-attempts
и yarn.application-attempts
.
Это ожидаемое поведение?
Вот мой flink-conf.yaml
для кластера высокой доступности:
state.backend: filesystem
state.checkpoints.dir: hdfs:///user/kmoti/.flink/checkpoints
state.savepoints.dir: hdfs:///user/kmoti/.flink/savepoints
high-availability: zookeeper
high-availability.zookeeper.quorum: zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
high-availability.zookeeper.path.root: /flink
high-availability.storageDir: hdfs:///user/kmoti/.flink/recovery
yarn.application-attempts: 5
а вот для NON HA кластера:
state.backend: filesystem
state.checkpoints.dir: hdfs:///user/kmoti/.flink/checkpoints
state.savepoints.dir: hdfs:///user/kmoti/.flink/savepoints
yarn.application-attempts: 5
Кто-нибудь знает, как будет рассчитываться время попыток в кластере Flink HA?
Следующий раздел обновляется 10 июня 1919
Я задал этот вопрос в flink список рассылки пользователя , и я получил ответ, что YARN не будет считать время попытки при использовании kill для остановки процесса, как подробно здесь .
Однако, при использовании режима NON HA, кластер Flink не удалось после второй команды kill, чтобы остановить JobManager.
Мне кажется, что сбой JobManager учитывается только при использовании режима кластера NON HA.
Кто-нибудь знает причину такого поведения?