如果任务槽的数量大于任务管理器的vcores,该怎么办



我在yaml配置文件中设置了yarn.container.vcores=1,并用启动了一个flink集群

yarn-session.sh -jm 1024 -tm 2048 -n 4 -s 3

通过上面的命令,我启动了4个任务管理器,每个TM只分配了1个vcore,而且每个TM有3个任务槽。

假设我在TM中运行了3个子任务,那么每个任务槽都拥有一个子任务。

这3个子任务是否可以与3个线程同时运行(使用3个cpu核心,vcore=1不生效(,或者它们将仅与一个线程并行(vcore=2生效(

无论有多少内核可用,每个任务都将有自己的JVM线程。如果任务管理器有3个插槽和1个vcore,那也没关系。在这些插槽中运行的任务将简单地争夺TM可用的资源

请注意,通常情况下,您会在一个插槽中运行多个子任务(或任务——任务和子任务实际上是一回事(。对于每个任务槽只有一个子任务的情况,要么作业非常简单(即,只有一个节点的作业图(,要么您做了一些特殊的事情来隔离子任务。

相关内容

  • 没有找到相关文章

最新更新