kubernetes—在生产基础设施中放置作业时flink state的问题

cngwdvgl  于 2021-06-21  发布在  Flink
关注(0)|答案(0)|浏览(244)

我们在一个自定义反欺诈系统上使用flink,该系统使用一个非常大的状态。
我们读到了rocksdb后端,以及它在我们这样的工作中的功能,所以我们在工作中实现了它。当我们开始对集群进行测试时,我们注意到一个罕见的行为,任务管理器内存在一段时间后开始退化,如下图所示:

最终它抛出了这样一个异常。
java.util.concurrent.timeoutexception:id为的taskmanager的心跳超时。
此外,我们还看到,对于相同的状态字节数,检查点时间开始递增(800MB和4.4mb都持续8分钟,而星形4mb则持续几毫秒)

我希望你能用这些问题为我们指明正确的方向:
我们在flink的文档中看到,如果使用rocks db state后端,状态不会保存在内存中,它会溢出到磁盘在我们的示例中是一个s3 bucket,因此对于像我们这样的大型状态作业很好,这是一个很好的理解吗?
任务管理器节点上的内存降级可能是因为状态变得太大,并结束杀死节点,因此引发超时异常?
提前谢谢你的建议。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题