Flink大状态优化笔记

一、问题表现
1、taskmanager不断重启。
2、吞吐量不断下降,数据堆积,checkpoint失败

二、解决:
1、由于我们是程序开发,自定义状态,所以首先考虑优化中间结构,将原有MapState中的多个值,简化key及value,state减少了1/3,后自定义对象pojo实现序列化接口,方便存取。状态也减少了一些,但是效果不大。
2、开启增量(怎么忘记了这个!)
new RocksDBStateBackend(checkpointUrl, true)

3、做完上面两步后,taskmanager就不会再重启了,但是随着状态的增加,吞吐量开始下降,于是开始优化RocksDB的存储,参考文章https://cloud.tencent.com/developer/article/1592441。
在flink程序中设置stateBackend.setPredefinedOptions(PredefinedOptions.SPINNING_DISK_OPTIMIZED_HIGH_MEM);
参数,简单粗暴用内存解决问题。我的理解是内存小了,会去磁盘找状态,导致吞吐量下降。

最终问题解决!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值