95-280-048-源码-资源管理-CPU

在这里插入图片描述

2.概述

​ Flink 并不会主动限制它消耗的CPU资源,它通过processing slots来控制一个worker 进程(也就是TaskManager)可以被分配的tasks数。一个TaskManger提供了特定数目的slots,它们注册于ResourceManager,并被其所管理。在执行程序时,一个JobManager会申请一个或多个slots,用于执行任务。一个slot可以运行一个application中任意operator的一个并行任务。所以JobManager需要至少申请operator最大并行度的slots数,才能保证任务正常执行。Task在TaskManager中以线程的方式执行,并且按需使用CPU资源。

​ TaskManager可提供的slots数量由taskmanager.numberOfTaskSlots 参数指定,默认为1。也就是每个TaskManager会提供一个slot。一般仅会在standalone模式下需要调整此参数,在YARN、Kubernetes、Mesos中不需要调整,因为它们可以根据资源申请更多container,而多个container也可以运行在单个节点上,效果与TaskManager中的slot基本一致。

猜你喜欢

转载自blog.csdn.net/qq_21383435/article/details/106073680