中间状态用完了最好是clear掉。不然一直会占用tm的内存的呢

-----邮件原件-----
发件人: bradyMk [mailto:zhbm...@126.com] 
发送时间: 2020年12月5日 星期六 17:29
收件人: user-zh@flink.apache.org
主题: flink使用RocksDB增量checkpoints,程序运行一段时间报出:超出物理内存

大家好~

最近刚刚尝试使用flink 1.9.1 的RocksDB做增量checkpoints;

在程序种设置:
    val backend = new RocksDBStateBackend("hdfs://xx/", true)
   
backend.setPredefinedOptions(PredefinedOptions.SPINNING_DISK_OPTIMIZED_HIGH_MEM)
并用MapState保存中间状态;(中间状态大概10个G);

我启动程序时,给taskmanager设置了3G内存:“-ytm 3072m \”,但是我的程序每跑一段时间都会报出超出物理内存的错误:"is
running beyond physical memory limits. Current usage: 3.0 GB of 3 GB physical 
memory used; 6.2 GB of 14.6 TB virtual memory used"

我对此有点不解,RocksDB不是会定期把状态写到hdfs么?为什么内存占用会越来越大,最终被yarn
kill掉呢?难道是我漏掉了什么参数配置?希望各位能指点迷津~谢谢大家




-----
Best Wishes
--
Sent from: http://apache-flink.147419.n8.nabble.com/

回复