状态管理器

本文介绍了Flink的三种状态管理器:MemoryStateBackend、FsStateBackend和RocksDBStateBackend。MemoryStateBackend存储在内存中,适用于小规模状态;FsStateBackend基于文件系统,适合大量状态且更安全;RocksDBStateBackend结合RocksDB,提供高性能存储,但有数据量限制。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


StateBackend的类别

Flink的三种状态管理器:基于内存的MemoryStateBackend,基于文件系统的FsStateBackend,基于RockDB作为存储介质的RocksDBStateBackend。
这三种类型的状态管理器都能有效地存储flink流式计算过程中产生的状态数据,默认情况下使用的是基于内存的状态管理器。

MemoryStateBackend

基于内存的状态管理器将状态数据全部存储在jvm堆内存中,包括用户在使用DataStream API中创建的Key/Value State,窗口中缓存的状态数据,以及触发器等数据。
优点:非常快速高效
缺点:受内存容量限制(一但存储状态数据过多就会导致系统内存溢出等问题,从而影响整个应用的正常运行)
不安全(机器一但出现故障,那么整个主机内存中的状态数据都会丢失,无法恢复任务中的状态数据)
MemoryStateBackend有以下特点需要使用时注意
1.聚合类算子的状态会存储在JobManager内存中,对聚合类算子比较多的应用会对JobManager的内存有一定压力,从而影响整个集群
2.创建MemoryStateBackend时可以指定内存大小,但是状态数据传输大小会受限于Akka框架通信的‘akka.framesize’大小限制,该指标表示在JobMana

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值