Flink生产环境遇到的问题

问题列表:

  • 数据倾斜导致子任务挤压
  • Kafka 消息大小默认配置太小,导致数据未处理
  • Tps 很大,Kafka Ack 默认配置 拖慢消息处理速度

数据倾斜导致子任务挤压

1. 业务背景:

一个流程中,有两个重要子任务:一是数据迁移,将kafka实时数据落Es,二是将kafka数据做窗口聚合落hbase,两个子任务接的是同一个Topic GroupId。

上游 Topic 的 tps 高峰达到5-6w

2. 问题描述

给 24个 TaskManager(CPU) 都会出现来不及消费的情况

3. 问题原因

做窗口聚合的任务的分组字段,分组粒度太小,hash不能打散,数据倾斜严重,导致少数 TaskManager 上压力过大,从而影响落Es的效率,导致背压。
在这里插入图片描述

4. 解决方式

将两个任务独立开来,作为不同的流程。

5. 结果

修改之前 24个 TaskManager(CPU) 来不及消费,改完之后 20 个 CPU 可完成任务。

Kafka实时数据落Es的16个TaskManager,将kafka数据做窗口聚合落hbase的4个TaskManager。

备注:

  1. 同样的数据、同样的Tps作为数据输入,Hbase的输出能力远超过Es,考虑实时任务落数据进Es要慎重
  2. Flink任务落Es时要考虑设置 微批 落数据,设置 bulk.flush.ma
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值