• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Flink / Scala 实践 - 11.大规模状态 ValueState 内存实践和优化

武飞扬头像
BIT_666
帮助1

一.引言

前面讲到了 Flink - 大规模状态 ValueState IO 实践与优化,工业场景下 Flink 经常使用 ValueState RocksDBStateBackend 的组合,由于 RocksDBStateBackend IO 侧的压力,对于状态访问 QPS 过高的任务,需将状态后端转换至 HashMapStateBackend,但是受限于 JVM Heap 的容量,大规模状态 ValueState 任务还需继续进行优化。

二.ValueState  HashMapStateBackend

1.IO 瓶颈

为了解决 RocksDbStateBackend 序列化造成的机器 IO 压力过大导致程序出现背压的情况,我们采用 HashMapStateBackend 存储大规模状态,修改后任务峰值 QPS 阶段不再受 IO 影响。

  1.  
    val env = StreamExecutionEnvironment.getExecutionEnvironment
  2.  
    env.setStateBackend(new HashMapStateBackend)
  3.  
    // 切换为 FsStateBackend
  4.  
    env.getCheckpointConfig().setCheckpointStorage(new FileSystemCheckpointStorage(path));

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgacjaa
系列文章
更多 icon
同类精品
更多 icon
继续加载