【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

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

相关推荐
A-刘晨阳12 小时前
时序数据库选型指南:从大数据视角切入,聚焦 Apache IoTDB
大数据·apache·时序数据库·iotdb
汤姆yu12 小时前
基于大数据的短视频流量数据分析与可视化
大数据·数据挖掘·数据分析
Ribou12 小时前
Elasticsearch 9.2.0 三节点集群配置
大数据·elasticsearch·搜索引擎
啊吧怪不啊吧13 小时前
SQL之表的时间类内置函数详解
大数据·服务器·数据库·sql
TDengine (老段)14 小时前
TDengine 产品组件 taosX
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
Hello.Reader14 小时前
Flink 流式计算的状态之道从 Table/SQL 语义到算子状态与 TTL 精准控制
sql·flink·linq
字节数据平台15 小时前
火山引擎发布Data Agent新能力,推动用户洞察进入“智能3.0时代”
大数据·人工智能
TDengine (老段)15 小时前
TDengine 字符串函数 CHAR_LENGTH 用户手册
大数据·数据库·时序数据库·tdengine·涛思数据
TDengine (老段)15 小时前
TDengine 数学函数 CRC32 用户手册
java·大数据·数据库·sql·时序数据库·tdengine·1024程序员节
数智顾问15 小时前
(111页PPT)大型集团IT治理体系规划详细解决方案(附下载方式)
大数据·人工智能