Hi, 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 Best, Shawn Huang [email protected] <[email protected]> 于2020年11月11日周三 下午2:58写道: > Hi,all: > 我在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的并行度? > > > > [email protected] >
