Почему кластер Flink HA на YARN восстановил больше, чем максимальное количество попыток? - PullRequest
0 голосов
/ 20 мая 2019

Используя 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. Кто-нибудь знает причину такого поведения?

...