我在使用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邮件归档
看起来你经确定了是在写入kafka时过慢导致了高峰期sink反压, 生产环境上1万的tps不算高的,可以先确定下是否是kafka集群写入瓶颈问题,kafka 自带的 perf 脚本可以测试下6个分区的topic写入的能力,测试时数据大小和tpoic配置可以和生产一致,如果是kafka写入瓶颈问题,那就需要增加分区,对应修改flink作业的写入并发。 另外,如果开启exactly-once配置,写入速度会慢一些,没有特别的业务需求可以用at-least-once.*来自志愿者整理的flink
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。