Flink大状态和Checkpoint调优

文章迁移,待整理

2. 状态和Checkpoint调优

2.1 大状态调优

我们生产大多数会使用 fsState ,memState程序挂了状态就丢了,应该没人会在生产使用,但是涉及到一些大状态,fsState效率很低,这时候会选择 rocksDbState

  1. RocksDb 为什么效率高

基于 LSM Tree 实现,类似 Hbase 的读写方式,

state.backend.local-recovery: true

写数据内存即返回,查数据先查 blockCache,

  1. 开启 state 性能访问监控

开启监控会对性能有影响,但是对 rocksDbStateBackend 来说影响不大,大概 1%,但是有监控可以快速定位问题

java 复制代码
-Dstate.backend.latency-track.keyed-state-enabled=true
  1. 开启增量检查点

    state.backend.incremental: true #默认 false,改为 true。

  2. 开启本地恢复

Flink任务失败时,可以基于本地的状态信息恢复任务

state.backend.incremental: true #默认 false,改为 true。
  1. 多目录设置

有多块磁盘,可以考虑设置多目录

state.backend.rocksdb.localdir: 
/data1/flink/rocksdb,/data2/flink/rocksdb,/data3/flink/rocksdb

2.2 checkpoint 间隔时长设置

一般checkpoint 间隔时长设置为 1-5分钟,比如阿里云我们都使用默认的 180S,但是对于一些大状态尤其是 Hdfs 储存时比较慢,可以设置 5-10分钟,并且设置两次 Checkpoint 至少间隔 4-8分钟

相关推荐
编码小袁1 分钟前
探索数据科学与大数据技术专业本科生的广阔就业前景
大数据
WeeJot嵌入式37 分钟前
大数据治理:确保数据的可持续性和价值
大数据
zmd-zk2 小时前
kafka+zookeeper的搭建
大数据·分布式·zookeeper·中间件·kafka
激流丶2 小时前
【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
java·大数据·kafka·topic
测试界的酸菜鱼2 小时前
Python 大数据展示屏实例
大数据·开发语言·python
时差9532 小时前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database
Mephisto.java2 小时前
【大数据学习 | kafka高级部分】kafka中的选举机制
大数据·学习·kafka
Mephisto.java2 小时前
【大数据学习 | kafka高级部分】kafka的优化参数整理
大数据·sql·oracle·kafka·json·database
道可云2 小时前
道可云人工智能&元宇宙每日资讯|2024国际虚拟现实创新大会将在青岛举办
大数据·人工智能·3d·机器人·ar·vr
成都古河云2 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市