【Flink精讲】Flink状态及Checkpoint调优

RocksDB大状态调优

RocksDB 是基于 LSM Tree 实现的(类似 HBase) ,写数据都是先缓存到内存中,

所以 RocksDB 的写请求效率比较高。 RocksDB 使用内存结合磁盘的方式来存储数据,每

次获取数据时,先从内存中 blockcache 中查找,如果内存中没有再去磁盘中查询。 使用

RocksDB 时,状态大小仅受可用磁盘空间量的限制, 性能瓶颈主要在于 RocksDB 对磁盘

的读请求, 每次读写操作都必须对数据进行反序列化或者序列化。 当处理性能不够时,仅需

要横向扩展并行度即可提高整个 Job 的吞吐量。

开启增量检查点和本地恢复

1)开启增量检查点

RocksDB 是目前唯一可用于支持有状态流处理应用程序增量检查点的状态后端,可以修改参数开启增量检查点:

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

或代码中指定

new EmbeddedRocksDBStateBackend(true)

调整预定义选项

Flink 针对不同的设置为 RocksDB 提供了一些预定义的选项集合,其中包含了后续提到

的一些参数,如果调整预定义选项后还达不到预期,再去调整后面的 block、 writebuffer

等参数。

当 前 支 持 的 预 定 义 选 项 有 DEFAULT 、 SPINNING_DISK_OPTIMIZED 、

SPINNING_DISK_OPTIMIZED_HIGH_MEM 或 FLASH_SSD_OPTIMIZED。有条件上 SSD

的, 可以指定为 FLASH_SSD_OPTIMIZED

state.backend.rocksdb.predefined-options: SPINNING_DISK_OPTIMIZED_HIGH_MEM

#设置为机械硬盘+内存模式

相关推荐
wdfk_prog4 小时前
实战教程:从“对象文件为空“到仓库重生——修复 Git 仓库损坏全记录
大数据·网络·笔记·git·学习·elasticsearch·全文检索
杨荧4 小时前
基于大数据的美食视频播放数据可视化系统 Python+Django+Vue.js
大数据·前端·javascript·vue.js·spring boot·后端·python
Hello.Reader6 小时前
以 Eland 玩转 Elasticsearch 8.12 Learning-to-Rank
大数据·elasticsearch·jenkins
ALex_zry6 小时前
Git Status 命令深度指南:洞悉仓库状态的核心艺术
大数据·git·elasticsearch
weixin_425878237 小时前
AWS 可靠性工程深度实践: 从 Well-Architected 到“零失误”VPC 落地
大数据·云计算·aws
九河云7 小时前
华为云代理商的作用与价值解析
大数据·人工智能·华为云
SelectDB8 小时前
天翼云与飞轮科技达成战略合作,共筑云数融合新生态
大数据·数据库·数据分析
Sunhen_Qiletian9 小时前
机器学习实战:逻辑回归深度解析与欺诈检测评估指标详解(二)
大数据
Flink_China10 小时前
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
大数据·flink
慌ZHANG12 小时前
云原生安全挑战与治理策略:从架构思维到落地实践
大数据·云原生·架构