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分钟

相关推荐
原神启动114 小时前
云计算大数据——Nginx 实战系列(性能优化与防盗链配置)
大数据·nginx·云计算
周全全15 小时前
基于ElasticSearch的语义检索学习-向量化数据、向量化相似度、向量化检索
大数据·学习·elasticsearch
可涵不会debug15 小时前
时序数据库选型指南:大数据时代下Apache IoTDB的崛起之路
大数据·apache·时序数据库
WLJT12312312317 小时前
藏在细节里的生活答案
大数据·生活
TDengine (老段)17 小时前
TDengine 日期函数 DATE 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
q***656917 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
武子康19 小时前
大数据-165 Apache Kylin Cube7 实战:聚合组/RowKey/编码与体积精度对比
大数据·后端·apache kylin
paperxie_xiexuo19 小时前
面向多场景演示需求的AI辅助生成工具体系研究:十类平台的功能分型、技术实现与合规应用分析
大数据·人工智能·powerpoint·ppt
Hello.Reader19 小时前
在 Flink Standalone 集群上运行 Flink CDC从下载到跑起一个 MySQL→Doris 同步任务
大数据·mysql·flink
小熊officer20 小时前
Minio介绍
大数据