中间状态用完了最好是clear掉。不然一直会占用tm的内存的呢
-----邮件原件-----
发件人: bradyMk [mailto:
[hidden email]]
发送时间: 2020年12月5日 星期六 17:29
收件人:
[hidden email]
主题: 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/