共享的检查点非常大

问题描述 投票:0回答:1

我以16个并行度运行flink应用程序。 20分钟后,共享检查点将增加到235MB。我该如何处理。很长一段时间都很大。

  • 每个任务管理器都是Openshift Pod
  • 任务管理器:4
  • 每个任务管理器的任务:4
  • 每个任务管理器的CPU:4核心
  • 每个任务管理器的内存:6GB
  • 使用过的Rocksdb状态限制
  • 已启用增量检查点

  • 下面的图像用于任务管理器(Pod)

enter image description here

apache-flink flink-streaming
1个回答
1
投票

Flink将仅使用所需的状态空间来完成您要求的状态。如果您对结果不满意,则需要以某种方式要求它减少操作。

您可能会做一些事情:

  • 请确保您的应用程序没有泄漏状态。例如,如果您使用具有无限制键空间的键控状态,并且没有清除状态,则可能发生这种情况。
  • 建立状态保留间隔(用于表/ SQL API)。
  • 使用状态TTL释放不需要的状态。

[某些反模式需要在状态中进行大量缓冲。您应该避免这些。 :)

您可以限制可用于存储状态的资源,但是当这些资源用尽时,这将导致作业失败。

而且,对于RocksDB,16个插槽上的235MB并不是很大。通过增量检查点,RocksDB可存储状态的多个(未压缩的)副本。您正在使用的实际活动状态可能少得多。

© www.soinside.com 2019 - 2024. All rights reserved.