我有一个 Flink 集群,有 8 个 CPU 内核和 16GB RAM。当我使用以下命令将作业提交到集群时: flink run -m ip:port -p 8 X.jar
在作业管理器 Web 界面中,我可以看到使用了所有 8 个内核。根据文档,Flink 独立集群管理器使用 FIFO 调度运行应用程序。我想知道 Flink 独立集群管理器是否支持在集群上同时运行应用程序,类似于轮询?或者我应该使用纱线?
只要任务管理器上有足够的任务槽,你的作业就会由 Flink 同时执行。不是以循环的方式,而是在单独的线程中同时在一起。并行度是允许您控制单个任务使用的线程数的参数:
https://ci.apache.org/projects/flink/flink-docs-release-1.4/dev/parallel.html
然而,由于各种原因,主要与资源管理有关(控制/限制/分配/跟踪资源,如在单个 JVM 中运行的两个不同逻辑应用程序的内存(是不可能的/困难的(,建议为每个应用程序启动一个 Flink 集群。YARN是实现这一目标的一种方法(记录在这里(。它将允许您基于每个容器控制资源。