【发布时间】:2020-10-21 04:49:25
【问题描述】:
如果算子的并行实例总数高于 flink 系统的并行度会怎样?
这是场景:
- 假设我有一个独立的 flink 应用程序,有 1 个 JobManager 和 1 个 TaskManager(有 5 个 CPU)
- 我已经设置了
taskmanager.numberOfTaskSlots=5和parallelism.default=5 - 有 2 个数据源(假设有两个不同的 kafka 主题,每个主题有五个分区)
- 为所有运算符禁用链式策略
- 我的应用程序的数据流(我只有一项工作,其中包括两个 kafka 源):
kafkaSource1.map(Mapper1).sink(sink1);
kafkaSource2.map(Mapper2).sink(sink1);
在以 5 并行部署此数据流后,TaskManager 是否会出现过载?
据我了解,Tasks 会像这样分散到 TaskManager 的插槽中:
- 如果这是正确的图表,则在此图表中,每个插槽都有 2 个不同的运营商实例。它将如何运作?它将以并行或顺序方式工作(首先是 kafka1->map1->sink1,然后是 kafka2->map2->sink1)
- 如果不正确,它将如何工作,任务将如何分配到插槽?
【问题讨论】:
标签: apache-flink flink-streaming