Вопрос о NoResourceAvailableException в Flink - PullRequest
1 голос
/ 28 октября 2019

Вот сообщение об ошибке:

2019-10-27 05:32:57,087 INFO  org.apache.flink.runtime.executiongraph.ExecutionGraph        - Sink: Unnamed (34/40) (95aac9e47f777ddc73c7a29cc1091911) switched from CREATED to SCHEDULED.
2019-10-27 05:32:57,087 INFO  org.apache.flink.runtime.executiongraph.ExecutionGraph        - Sink: Unnamed (35/40) (5181fb35b0a2eab588dd7ed2eb902bbd) switched from CREATED to SCHEDULED.
2019-10-27 05:32:57,087 INFO  org.apache.flink.runtime.executiongraph.ExecutionGraph        - Sink: Unnamed (36/40) (bf4aac9423bdecaeeb7e6ac37001d73d) switched from CREATED to SCHEDULED.
2019-10-27 05:32:57,087 INFO  org.apache.flink.runtime.executiongraph.ExecutionGraph        - Sink: Unnamed (37/40) (31f8ee4d7adbcfd5de21b4cbb83c5e05) switched from CREATED to SCHEDULED.
2019-10-27 05:32:57,087 INFO  org.apache.flink.runtime.executiongraph.ExecutionGraph        - Sink: Unnamed (38/40) (8ba11f69e8e5ee2aacaa276136ad3bd0) switched from CREATED to SCHEDULED.
2019-10-27 05:32:57,087 INFO  org.apache.flink.runtime.executiongraph.ExecutionGraph        - Sink: Unnamed (39/40) (1a1e38ede6b8d398b50b8fe7de2c6cb2) switched from CREATED to SCHEDULED.
2019-10-27 05:32:57,087 INFO  org.apache.flink.runtime.executiongraph.ExecutionGraph        - Sink: Unnamed (40/40) (7fbb095da45b2d2392874fe4fa5c916d) switched from CREATED to SCHEDULED.
2019-10-27 05:37:57,088 INFO  org.apache.flink.runtime.executiongraph.ExecutionGraph        - Job Flink Streaming Job (4e5011eb97e695cfb2d05048534b097a) switched from state RUNNING to FAILING.
2019-10-27 05:37:57,088 INFO  org.apache.flink.runtime.executiongraph.ExecutionGraph        - Job Flink Streaming Job (4e5011eb97e695cfb2d05048534b097a) switched from state RUNNING to FAILING.
org.apache.flink.runtime.jobmanager.scheduler.NoResourceAvailableException: Could not allocate all requires slots within timeout of 300000 ms. Slots required: 152, slots allocated: 150, previous allocation IDs: []

мой параметр параллелизма:

source : 32
flatmap : 80
sink : 40

jobManager пытается запросить 152 слота из resourceManager, но rm didn 'слотов не хватило и в итоге привело к провалу. Не можете resourceManager получить больше слотов от других taskmanagers, когда слоты больше не доступны?

1 Ответ

0 голосов
/ 28 октября 2019

Количество свободных слотов составляет numberOfTaskmanagers x taskmanager.numberOfTaskSlots (например, 75 менеджеров задач с 2 слотами дают 150 слотов). Сам Flink не может вызвать динамическое масштабирование. Все, что вы можете сделать, это запустить несколько диспетчеров задач вручную или изменить конфигурацию диспетчера задач и перезапустить диспетчеры задач.

Если ваш менеджер задач умирает во время выполнения задания, вы можете определить стратегию перезапуска (имейте в виду, что для этого нужно включить контрольные точки): https://ci.apache.org/projects/flink/flink-docs-stable/dev/task_failure_recovery.html#restart-strategies

Если ваши менеджеры задач умирают и не работаютперезапуск довольно вероятен, проблема пряжи.

...