【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

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

相关推荐
小高不会迪斯科几秒前
MIT 6.824学习心得(1) 浅谈分布式系统概论与MapReduce
大数据·mapreduce
TDengine (老段)9 分钟前
使用 StatsD 向 TDengine 写入
java·大数据·数据库·时序数据库·iot·tdengine·涛思数据
Gauss松鼠会21 分钟前
GaussDB权限管理:从RBAC到精细化控制的企业级安全实践
大数据·数据库·安全·database·gaussdb
时序数据说28 分钟前
时序数据库IoTDB用户自定义函数(UDF)使用指南
大数据·数据库·物联网·开源·时序数据库·iotdb
大师兄带你刨AI1 小时前
「AI产业」| 《中国信通院&华为:智能体技术和应用研究报告》
大数据·人工智能
武子康2 小时前
大数据-31 ZooKeeper 内部原理 Leader选举 ZAB协议
大数据·后端·zookeeper
zkmall2 小时前
ZKmall模块商城批发电商平台搭建方案,多商户支持 + 订单管理功能全覆盖
大数据·人工智能
Edingbrugh.南空3 小时前
Flink Postgres CDC 环境配置与验证
大数据·flink
isNotNullX4 小时前
什么是数据分析?常见方法全解析
大数据·数据库·数据仓库·人工智能·数据分析
小袁拒绝摆烂4 小时前
ElasticSearch快速入门-1
大数据·elasticsearch·搜索引擎