本身我的任务复杂点,CPU IDLE 正常在 80 - 90 %,每五分钟窗口闭合时刻CPU IDLE会降到 20-30
%。如果运气不好,任务再不均衡点,部分机器会存在短时间卡死状态,长久下去很容器导致flink进程失败。

赵一旦 <hinobl...@gmail.com> 于2020年9月22日周二 下午1:09写道:

> 我觉得这个非常必要需要解决,后续可以提升下。
>
> 我相信假设生产中flink集群如果是5台机器,不管slot是多少,对于任务来说,复杂算子的并行度自然会设置为5的倍数,非5倍数的一般可能是不可并行的算子(比如一些数据量极少的配置流等)。这些非5倍数的算子影响到5倍数算子的均衡分配会很麻烦。
> 目前使用1.10的cluster.evenly-spread-out-slots:
> true可以保证如果算子都是5的倍数,所有算子都会均衡到5机器。但是不可避免会有部分非5倍数的算子,进而影响到复杂算子的均衡。
>
> Xintong Song <tonysong...@gmail.com> 于2020年9月22日周二 上午10:21写道:
>
>> Flink 现阶段并不支持你说的这种针对特定算子的负载均衡。如果采用默认的 slot sharing 策略,是可以通过调整每台机器上的 tm 和
>> slot 个数来控制 cluster 总共只有 15 个 slot,这样可以保证 C 在 5 台机器上是均衡的。但是 B
>> 目前是没有比较好的方法保证的。
>>
>> Thank you~
>>
>> Xintong Song
>>
>>
>>
>> On Mon, Sep 21, 2020 at 5:45 PM 赵一旦 <hinobl...@gmail.com> wrote:
>>
>> >
>> >
>> 当前的flink资源分配问题。我一个任务3个算子,算子A并行度为1,算子B并行度为10,算子C并行度15。集群5台机器。我怎么保证算子B和C在5台机器完全均衡呢?我不介意算子A在哪,但算子B和C必须完全均衡到5个机器。
>> >
>> >
>> > 算子更多了就更复杂了,部分算子的并行度不是5的倍数,会导致越来越多的类似B和C这些算子在5台机器的不均衡。
>> >
>>
>

回复