You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by "casel.chen" <ca...@126.com> on 2021/10/29 01:30:51 UTC
flink sql消费kafka各分区消息不均衡问题
flink sql消费kafka消息做数据同步,前期没有出现堆积不均的问题,这两天发现某些kafka分区积压特别多,会是什么原因造成的?怎样解决呢?从统计结果上看,消息还算均匀地打到各个kafka分区上。作业没有开窗和聚合,只是攒一批写一批这样子的。注:作业是跑在k8s上的
| 分区 ID | 客户端 | 最大位点 | 消费位点 | 堆积量 |
| 0 | n/a | 155,397,108 | 155,396,747 | 361 |
| 1 | n/a | 155,215,444 | 155,215,108 | 336 |
| 2 | n/a | 155,369,596 | 155,369,258 | 338 |
| 3 | n/a | 155,422,750 | 155,422,337 | 413 |
| 4 | n/a | 155,163,343 | 154,489,738 | 673,605 |
| 5 | n/a | 155,401,388 | 154,702,173 | 699,215 |
| 6 | n/a | 155,372,040 | 154,651,398 | 720,642 |
| 7 | n/a | 155,208,461 | 154,528,301 | 680,160 |
| 8 | n/a | 155,383,486 | 154,696,404 | 687,082 |
| 9 | n/a | 155,391,068 | 154,668,426 | 722,642 |
| 10 | n/a | 155,139,417 | 154,450,377 | 689,040 |
| 11 | n/a | 155,411,848 | 155,411,518 | 330 |
Re: 回复:Re:回复: flink sql消费kafka各分区消息不均衡问题
Posted by yidan zhao <hi...@gmail.com>.
不清楚你说的“作业”是啥,作业多,作业少,你是多个作业吗?
我感觉你是讲subtask数多少估计,如果TM的压力完全是由于flink导致,那应该就是你slot分配在TM不均衡导致。
考虑设置 cluster.evenly-spread-out-slots: true 试试。
casel.chen <ca...@126.com> 于2021年11月1日周一 上午10:48写道:
> 写入数据看过是均衡的,没有问题。消费端位点差别挺大,积压情况大部分分区都很小,少数个别分区积压很大,达到数十万级别。跟TM负载有关吗?
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> 在 2021-10-31 10:13:11,"悟空" <wu...@foxmail.com> 写道:
> >hi
> >那你就需要排查下上有写入方是什么策略写入 或者通过Kafka 查看下 每个分区数据量是否明显不均衡。感觉可能和写入方的原因很大
> >
> >
> >
> >发自我的iPhone
> >
> >
> >------------------ 原始邮件 ------------------
> >发件人: casel.chen <casel_chan@126.com>
> >发送时间: 2021年10月30日 18:19
> >收件人: user-zh <user-zh@flink.apache.org>
> >主题: 回复:Re:回复: flink sql消费kafka各分区消息不均衡问题
> >
> >
> >
>
> >kafka是作为flink作业source来消费的,作业跑在k8s上以session mode运行,发现有的TM作业特别多,消耗资源也多,而有的TM作业少,占用资源也少。
> >会不会是这个原因造成kafka不同分区消费能力差异?那些消费慢的task恰好落在比较忙的TM。有什么办法可以让各个TM负载均衡吗?
> >
> >
> >
> >
> >
> >
> >
> >
> >在 2021-10-29 17:32:40,"WuKong" <wukong91@foxmail.com
> > 写道:
> >>Hi casel.chan:
> >> 请问你是sink端数据不均衡还是source端数据不均衡。
>
> >> 如果是写入端 ,看看你是否自定义了分区字段,flink 默认是策略应该不会造成数据不均衡,但是无法保证 分区有序性。同时也可以关注下 下游消费者 是否会有消费不同分区 处理性能不同问题。
> >>
> >>
> >>
> >>---
> >>Best,
> >>WuKong
> >>
> >>发件人: casel.chen
> >>发送时间: 2021-10-29 09:30
> >>收件人: user-zh@flink.apache.org
> >>主题: flink sql消费kafka各分区消息不均衡问题
>
> >>flink sql消费kafka消息做数据同步,前期没有出现堆积不均的问题,这两天发现某些kafka分区积压特别多,会是什么原因造成的?怎样解决呢?从统计结果上看,消息还算均匀地打到各个kafka分区上。作业没有开窗和聚合,只是攒一批写一批这样子的。注:作业是跑在k8s上的
> >>
> >>
>
> >>| 分区 ID | 客户端 | 最大位点 | 消费位点 | 堆积量 |
>
> >>| 0 | n/a | 155,397,108 | 155,396,747 | 361 |
>
> >>| 1 | n/a | 155,215,444 | 155,215,108 | 336 |
>
> >>| 2 | n/a | 155,369,596 | 155,369,258 | 338 |
>
> >>| 3 | n/a | 155,422,750 | 155,422,337 | 413 |
>
> >>| 4 | n/a | 155,163,343 | 154,489,738 | 673,605 |
>
> >>| 5 | n/a | 155,401,388 | 154,702,173 | 699,215 |
>
> >>| 6 | n/a | 155,372,040 | 154,651,398 | 720,642 |
>
> >>| 7 | n/a | 155,208,461 | 154,528,301 | 680,160 |
>
> >>| 8 | n/a | 155,383,486 | 154,696,404 | 687,082 |
>
> >>| 9 | n/a | 155,391,068 | 154,668,426 | 722,642 |
>
> >>| 10 | n/a | 155,139,417 | 154,450,377 | 689,040 |
>
> >>| 11 | n/a | 155,411,848 | 155,411,518 | 330 |
> >>
>
Re:回复:Re:回复: flink sql消费kafka各分区消息不均衡问题
Posted by "casel.chen" <ca...@126.com>.
写入数据看过是均衡的,没有问题。消费端位点差别挺大,积压情况大部分分区都很小,少数个别分区积压很大,达到数十万级别。跟TM负载有关吗?
在 2021-10-31 10:13:11,"悟空" <wu...@foxmail.com> 写道:
>hi
>那你就需要排查下上有写入方是什么策略写入 或者通过Kafka 查看下 每个分区数据量是否明显不均衡。感觉可能和写入方的原因很大
>
>
>
>发自我的iPhone
>
>
>------------------ 原始邮件 ------------------
>发件人: casel.chen <casel_chan@126.com>
>发送时间: 2021年10月30日 18:19
>收件人: user-zh <user-zh@flink.apache.org>
>主题: 回复:Re:回复: flink sql消费kafka各分区消息不均衡问题
>
>
>
>kafka是作为flink作业source来消费的,作业跑在k8s上以session mode运行,发现有的TM作业特别多,消耗资源也多,而有的TM作业少,占用资源也少。
>会不会是这个原因造成kafka不同分区消费能力差异?那些消费慢的task恰好落在比较忙的TM。有什么办法可以让各个TM负载均衡吗?
>
>
>
>
>
>
>
>
>在 2021-10-29 17:32:40,"WuKong" <wukong91@foxmail.com> 写道:
>>Hi casel.chan:
>> 请问你是sink端数据不均衡还是source端数据不均衡。
>> 如果是写入端 ,看看你是否自定义了分区字段,flink 默认是策略应该不会造成数据不均衡,但是无法保证 分区有序性。同时也可以关注下 下游消费者 是否会有消费不同分区 处理性能不同问题。
>>
>>
>>
>>---
>>Best,
>>WuKong
>>
>>发件人: casel.chen
>>发送时间: 2021-10-29 09:30
>>收件人: user-zh@flink.apache.org
>>主题: flink sql消费kafka各分区消息不均衡问题
>>flink sql消费kafka消息做数据同步,前期没有出现堆积不均的问题,这两天发现某些kafka分区积压特别多,会是什么原因造成的?怎样解决呢?从统计结果上看,消息还算均匀地打到各个kafka分区上。作业没有开窗和聚合,只是攒一批写一批这样子的。注:作业是跑在k8s上的
>>
>>
>>| 分区 ID | 客户端 | 最大位点 | 消费位点 | 堆积量 |
>>| 0 | n/a | 155,397,108 | 155,396,747 | 361 |
>>| 1 | n/a | 155,215,444 | 155,215,108 | 336 |
>>| 2 | n/a | 155,369,596 | 155,369,258 | 338 |
>>| 3 | n/a | 155,422,750 | 155,422,337 | 413 |
>>| 4 | n/a | 155,163,343 | 154,489,738 | 673,605 |
>>| 5 | n/a | 155,401,388 | 154,702,173 | 699,215 |
>>| 6 | n/a | 155,372,040 | 154,651,398 | 720,642 |
>>| 7 | n/a | 155,208,461 | 154,528,301 | 680,160 |
>>| 8 | n/a | 155,383,486 | 154,696,404 | 687,082 |
>>| 9 | n/a | 155,391,068 | 154,668,426 | 722,642 |
>>| 10 | n/a | 155,139,417 | 154,450,377 | 689,040 |
>>| 11 | n/a | 155,411,848 | 155,411,518 | 330 |
>>
回复:Re:回复: flink sql消费kafka各分区消息不均衡问题
Posted by 悟空 <wu...@foxmail.com>.
hi
那你就需要排查下上有写入方是什么策略写入 或者通过Kafka 查看下 每个分区数据量是否明显不均衡。感觉可能和写入方的原因很大
发自我的iPhone
------------------ 原始邮件 ------------------
发件人: casel.chen <casel_chan@126.com>
发送时间: 2021年10月30日 18:19
收件人: user-zh <user-zh@flink.apache.org>
主题: 回复:Re:回复: flink sql消费kafka各分区消息不均衡问题
kafka是作为flink作业source来消费的,作业跑在k8s上以session mode运行,发现有的TM作业特别多,消耗资源也多,而有的TM作业少,占用资源也少。
会不会是这个原因造成kafka不同分区消费能力差异?那些消费慢的task恰好落在比较忙的TM。有什么办法可以让各个TM负载均衡吗?
在 2021-10-29 17:32:40,"WuKong" <wukong91@foxmail.com> 写道:
>Hi casel.chan:
> 请问你是sink端数据不均衡还是source端数据不均衡。
> 如果是写入端 ,看看你是否自定义了分区字段,flink 默认是策略应该不会造成数据不均衡,但是无法保证 分区有序性。同时也可以关注下 下游消费者 是否会有消费不同分区 处理性能不同问题。
>
>
>
>---
>Best,
>WuKong
>
>发件人: casel.chen
>发送时间: 2021-10-29 09:30
>收件人: user-zh@flink.apache.org
>主题: flink sql消费kafka各分区消息不均衡问题
>flink sql消费kafka消息做数据同步,前期没有出现堆积不均的问题,这两天发现某些kafka分区积压特别多,会是什么原因造成的?怎样解决呢?从统计结果上看,消息还算均匀地打到各个kafka分区上。作业没有开窗和聚合,只是攒一批写一批这样子的。注:作业是跑在k8s上的
>
>
>| 分区 ID | 客户端 | 最大位点 | 消费位点 | 堆积量 |
>| 0 | n/a | 155,397,108 | 155,396,747 | 361 |
>| 1 | n/a | 155,215,444 | 155,215,108 | 336 |
>| 2 | n/a | 155,369,596 | 155,369,258 | 338 |
>| 3 | n/a | 155,422,750 | 155,422,337 | 413 |
>| 4 | n/a | 155,163,343 | 154,489,738 | 673,605 |
>| 5 | n/a | 155,401,388 | 154,702,173 | 699,215 |
>| 6 | n/a | 155,372,040 | 154,651,398 | 720,642 |
>| 7 | n/a | 155,208,461 | 154,528,301 | 680,160 |
>| 8 | n/a | 155,383,486 | 154,696,404 | 687,082 |
>| 9 | n/a | 155,391,068 | 154,668,426 | 722,642 |
>| 10 | n/a | 155,139,417 | 154,450,377 | 689,040 |
>| 11 | n/a | 155,411,848 | 155,411,518 | 330 |
>
Re:回复: flink sql消费kafka各分区消息不均衡问题
Posted by "casel.chen" <ca...@126.com>.
kafka是作为flink作业source来消费的,作业跑在k8s上以session mode运行,发现有的TM作业特别多,消耗资源也多,而有的TM作业少,占用资源也少。
会不会是这个原因造成kafka不同分区消费能力差异?那些消费慢的task恰好落在比较忙的TM。有什么办法可以让各个TM负载均衡吗?
在 2021-10-29 17:32:40,"WuKong" <wu...@foxmail.com> 写道:
>Hi casel.chan:
> 请问你是sink端数据不均衡还是source端数据不均衡。
> 如果是写入端 ,看看你是否自定义了分区字段,flink 默认是策略应该不会造成数据不均衡,但是无法保证 分区有序性。同时也可以关注下 下游消费者 是否会有消费不同分区 处理性能不同问题。
>
>
>
>---
>Best,
>WuKong
>
>发件人: casel.chen
>发送时间: 2021-10-29 09:30
>收件人: user-zh@flink.apache.org
>主题: flink sql消费kafka各分区消息不均衡问题
>flink sql消费kafka消息做数据同步,前期没有出现堆积不均的问题,这两天发现某些kafka分区积压特别多,会是什么原因造成的?怎样解决呢?从统计结果上看,消息还算均匀地打到各个kafka分区上。作业没有开窗和聚合,只是攒一批写一批这样子的。注:作业是跑在k8s上的
>
>
>| 分区 ID | 客户端 | 最大位点 | 消费位点 | 堆积量 |
>| 0 | n/a | 155,397,108 | 155,396,747 | 361 |
>| 1 | n/a | 155,215,444 | 155,215,108 | 336 |
>| 2 | n/a | 155,369,596 | 155,369,258 | 338 |
>| 3 | n/a | 155,422,750 | 155,422,337 | 413 |
>| 4 | n/a | 155,163,343 | 154,489,738 | 673,605 |
>| 5 | n/a | 155,401,388 | 154,702,173 | 699,215 |
>| 6 | n/a | 155,372,040 | 154,651,398 | 720,642 |
>| 7 | n/a | 155,208,461 | 154,528,301 | 680,160 |
>| 8 | n/a | 155,383,486 | 154,696,404 | 687,082 |
>| 9 | n/a | 155,391,068 | 154,668,426 | 722,642 |
>| 10 | n/a | 155,139,417 | 154,450,377 | 689,040 |
>| 11 | n/a | 155,411,848 | 155,411,518 | 330 |
>
回复: flink sql消费kafka各分区消息不均衡问题
Posted by WuKong <wu...@foxmail.com>.
Hi casel.chan:
请问你是sink端数据不均衡还是source端数据不均衡。
如果是写入端 ,看看你是否自定义了分区字段,flink 默认是策略应该不会造成数据不均衡,但是无法保证 分区有序性。同时也可以关注下 下游消费者 是否会有消费不同分区 处理性能不同问题。
---
Best,
WuKong
发件人: casel.chen
发送时间: 2021-10-29 09:30
收件人: user-zh@flink.apache.org
主题: flink sql消费kafka各分区消息不均衡问题
flink sql消费kafka消息做数据同步,前期没有出现堆积不均的问题,这两天发现某些kafka分区积压特别多,会是什么原因造成的?怎样解决呢?从统计结果上看,消息还算均匀地打到各个kafka分区上。作业没有开窗和聚合,只是攒一批写一批这样子的。注:作业是跑在k8s上的
| 分区 ID | 客户端 | 最大位点 | 消费位点 | 堆积量 |
| 0 | n/a | 155,397,108 | 155,396,747 | 361 |
| 1 | n/a | 155,215,444 | 155,215,108 | 336 |
| 2 | n/a | 155,369,596 | 155,369,258 | 338 |
| 3 | n/a | 155,422,750 | 155,422,337 | 413 |
| 4 | n/a | 155,163,343 | 154,489,738 | 673,605 |
| 5 | n/a | 155,401,388 | 154,702,173 | 699,215 |
| 6 | n/a | 155,372,040 | 154,651,398 | 720,642 |
| 7 | n/a | 155,208,461 | 154,528,301 | 680,160 |
| 8 | n/a | 155,383,486 | 154,696,404 | 687,082 |
| 9 | n/a | 155,391,068 | 154,668,426 | 722,642 |
| 10 | n/a | 155,139,417 | 154,450,377 | 689,040 |
| 11 | n/a | 155,411,848 | 155,411,518 | 330 |
Re: flink sql消费kafka各分区消息不均衡问题
Posted by Caizhi Weng <ts...@gmail.com>.
Hi!
如果没有具体的 SQL 很难分析这个问题。可以通过 Flink UI
观察各节点各并发的处理数据量看是否有部分并发处理量比较大;另外可以观察每个节点的反压情况,看是否有部分并发反压严重。另外可以特别注意 hash 边,看
hash key 是否有倾斜(这会表现在下游节点不同并发之间处理量差异比较大)。
casel.chen <ca...@126.com> 于2021年10月29日周五 上午9:31写道:
> flink
> sql消费kafka消息做数据同步,前期没有出现堆积不均的问题,这两天发现某些kafka分区积压特别多,会是什么原因造成的?怎样解决呢?从统计结果上看,消息还算均匀地打到各个kafka分区上。作业没有开窗和聚合,只是攒一批写一批这样子的。注:作业是跑在k8s上的
>
>
> | 分区 ID | 客户端 | 最大位点 | 消费位点 | 堆积量 |
> | 0 | n/a | 155,397,108 | 155,396,747 | 361 |
> | 1 | n/a | 155,215,444 | 155,215,108 | 336 |
> | 2 | n/a | 155,369,596 | 155,369,258 | 338 |
> | 3 | n/a | 155,422,750 | 155,422,337 | 413 |
> | 4 | n/a | 155,163,343 | 154,489,738 | 673,605 |
> | 5 | n/a | 155,401,388 | 154,702,173 | 699,215 |
> | 6 | n/a | 155,372,040 | 154,651,398 | 720,642 |
> | 7 | n/a | 155,208,461 | 154,528,301 | 680,160 |
> | 8 | n/a | 155,383,486 | 154,696,404 | 687,082 |
> | 9 | n/a | 155,391,068 | 154,668,426 | 722,642 |
> | 10 | n/a | 155,139,417 | 154,450,377 | 689,040 |
> | 11 | n/a | 155,411,848 | 155,411,518 | 330 |
>
>