【发布时间】:2017-06-23 18:28:44
【问题描述】:
首先我在独立模式下运行!
我一直在尝试查找任何配置,但没有找到任何相关信息。
在 Spark 中,有一些配置可以让您限制每个从站中使用的 CPU 数量:
- SPARK_WORKER_CORES(工作人员配置)
- spark.executor.cores(集群配置)
但在 Flink 中,您只需设置要使用的最大内存和任务槽的数量(只是划分内存),如 in the official documentation 所说:
- taskmanager.numberOfTaskSlots:单个TaskManager可以运行的并行算子或用户函数实例的数量(默认: 1)。如果该值大于 1,则单个 TaskManager 取 函数或运算符的多个实例。这样一来, TaskManager 可以利用多个 CPU 内核,但同时, 可用内存在不同的运算符或函数之间划分 实例。该值通常与数量成正比 TaskManager 的机器拥有的物理 CPU 内核数(例如,等于 核心数量,或核心数量的一半)。
here more focused 我的问题:
每个任务槽代表一个固定的资源子集 任务管理器。例如,具有三个插槽的 TaskManager 将 将其托管内存的 1/3 专用于每个插槽。开槽 资源意味着子任务不会与来自的子任务竞争 托管内存的其他作业,但有一定数量的 保留的托管内存。请注意,这里没有发生 CPU 隔离; 目前插槽仅分隔任务的托管内存。
谢谢!!
【问题讨论】:
-
只需将 taskmanager.numberOfTaskSlots 设置为您希望 TM 拥有的核心数。此参数设置每个 TM 可用的最大插槽数。默认情况下,每个插槽占用一个核心。
标签: resources apache-flink flink-streaming