第一个,我是运行在独立模式!
我一直试图找到任何配置,但我还没有找到任何有关这方面的东西。
在Spark中,有一些配置允许您限制在每个从服务器中使用的CPU数量:
但是在Flink中,您只需要设置要使用的最大内存和任务槽的数量(这只是将内存分开),就像在正式文件中所说的
关于我的问题,在这里更专注:
每个任务槽表示TaskManager资源的固定子集。例如,有三个插槽的TaskManager将其托管内存的1/3专用于每个插槽。对资源进行时隙意味着子任务不会与来自其他作业的子任务竞争托管内存,而是拥有一定数量的保留托管内存。注意,这里没有CPU隔离;当前槽只分隔任务的托管内存。
谢谢!!
发布于 2018-04-05 23:50:00
我在找同样的问题。据我理解,没有任何配置可以设置每个时隙的CPU数量。设置插槽的数量将在插槽之间划分内存,减少每个时隙的内存。我的最佳猜测是将槽数设置为1,并使CPU可用于在容器中运行的任务管理器进程(可能是停靠器)。可以通过增加任务管理器的数量来实现同样的并行性。
发布于 2019-03-20 18:28:16
认为这是在flink配置文档中:https://ci.apache.org/projects/flink/flink-docs-stable/ops/config.html#yarn
yarn.containers.vcores -1 每个纱线容器的虚拟芯数(Vcore)。默认情况下,vcore的数量设置为每个TaskManager的插槽数(如果设置为1 ),否则设置为1。为了使用此参数,群集必须启用CPU调度。您可以通过设置org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler.来做到这一点。
大卫在上面是正确的--但推理是因为这种环境,我认为这更能回答OPs的问题。因此,如果保留默认值,则调整任务插槽的数量将调整核心的数量。
https://stackoverflow.com/questions/44727845
复制相似问题