Apache flink 确定Flink中特定运算符的位置

Apache flink 确定Flink中特定运算符的位置,apache-flink,flink-streaming,Apache Flink,Flink Streaming,假设我有一个具有不同能力(即不同的CPU、内存等)的机器集群。有没有办法确定要运行的特定操作员(或任务)的位置?是否可以更改操作员的默认运行位置 我读过关于“任务链接和资源组”的文章。然而,我认为这并不能解决我的问题 Flink中有任何特定的配置吗?如果否,代码的哪一部分可能与此假设相关?taskmanager.numberOfTaskSlots属性可以作为指示不同taskmanager的相对工作能力的途径。您可能需要根据计算机上的可用资源调整TaskSlot和内存分配选项 但就我个人而言,我更

假设我有一个具有不同能力(即不同的CPU、内存等)的机器集群。有没有办法确定要运行的特定操作员(或任务)的位置?是否可以更改操作员的默认运行位置

我读过关于“任务链接和资源组”的文章。然而,我认为这并不能解决我的问题


Flink中有任何特定的配置吗?如果否,代码的哪一部分可能与此假设相关?

taskmanager.numberOfTaskSlots属性可以作为指示不同taskmanager的相对工作能力的途径。您可能需要根据计算机上的可用资源调整TaskSlot和内存分配选项


但就我个人而言,我更喜欢用容器来解决这类问题,比如docker。这样,您可以让所有TaskManager都配置相同的配置,并让容器系统中的编排工具根据可用资源为物理机分配更多或更少的虚拟实例。

这看起来像是一个问题,Flink最好允许您使用
someStream.filter(…).slotSharingGroup(“名称”)正如您在上可能看到的。对于特定群体来说,这不是“必须做的”。它只有在可能的情况下才会尝试。因为它遵循在任何可能的情况下部署作业的方法……当然,我认为使用容器是一个很好的解决方案。但是,出于某些目的,我希望手动管理我的资源。我想手动选择在特定机器上运行的具有特定属性的操作员。我不知道这是工作经理或资源经理的责任。但我想知道谁决定在哪台机器上运行哪个操作员(或任务管理器)@坎坦卡蒙驼鹿