开发者社区> 问答> 正文

flink sink kafka过慢问题

我在使用flink处理数据写入kafka的过程中,写入kafka的速度过慢,导致数据高峰期数据有堆积, 在数据达到每秒11000条的时候就开始堆积,处理逻辑很简单,就有坐标点经纬度转换成省市区,其他逻辑不复杂, sink端kafka 6个分区,source端kafka6个分区,每天在晚高峰的时候会堆积30分钟,有没有办法大幅度提高写入能力, 难道只能加大kafka的分区吗?

flink submit 参数如下 p=6(与kafka分区对应) m=yarn-cluster yjm=1024 ytm=4096 ys=6 checkpoint_timeout=30000 max_concurrent_checkpoint=1 checkpoint_between_time=1000 checkpoint_interval_ms=60000 restart_between_time=1000 restart_num=4 sink_buffer_memory=134217728(也尝试了很多) sink_batch_size=65536(也尝试了很多) sink_kafka_linger_ms=10(尝试过1 20 50 100 200 500) sink_max_request_size=10240000 sink_kafka_acks=1

这个问题困扰我很久了,请大家帮忙看看 ,非常感谢!*来自志愿者整理的flink邮件归档

展开
收起
毛毛虫雨 2021-12-07 12:17:36 2198 0
1 条回答
写回答
取消 提交回答
  • 看起来你经确定了是在写入kafka时过慢导致了高峰期sink反压, 生产环境上1万的tps不算高的,可以先确定下是否是kafka集群写入瓶颈问题,kafka 自带的 perf 脚本可以测试下6个分区的topic写入的能力,测试时数据大小和tpoic配置可以和生产一致,如果是kafka写入瓶颈问题,那就需要增加分区,对应修改flink作业的写入并发。 另外,如果开启exactly-once配置,写入速度会慢一些,没有特别的业务需求可以用at-least-once.*来自志愿者整理的flink

    2021-12-07 15:46:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载