我在flink web面板上提交了1个job,job的并行度为15,flink集群slot总数为12,发现任务一直在created阶段等待,一段时间后报错:
Caused by: org.apache.flink.runtime.jobmanager.scheduler.NoResourceAvailableException: Could not allocate the required slot within slot request timeout.
Please make sure that the cluster has enough resources.
是因为slot数量必须要大于并行度吗?有没有参数可以让flink自动选择可用slot数作为job的并行度?*来自志愿者整理的flink邮件归档
Flink 的调度策略会保证一个job需要的slot数恰好等于该job所有算子的最大并行度。
如果slot数量小于算子的最大并行度,则该job无法执行。可以参考[1][2]中的文档描述。
目前没有方法让flink自动选择可用slot数量作为并行度,但可以通过[3]中的几种方法来设置。
[1]
https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/internals/job_scheduling.html
[2]
https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/concepts/flink-architecture.html#task-slots-and-resources
[3]
https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/dev/parallel.html
*来自志愿者整理的flink邮件归档
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。