Re: 答复: flink使用RocksDB增量checkpoints,程序运行一段时间报出:超出物理内存
这面还想多请教一下: 我程序中每来一条数据都会去读MapState然后覆盖写入新的时间戳,刚刚发现某一条数据读出了两条一样的时间戳,我推断是第一个线程读出来后还没等覆盖掉,第二个线程又读了一遍,导致出现两条一样的时间戳; 所以想请问flink中MapState是线程安全的吗? - Best Wishes -- Sent from: http://apache-flink.147419.n8.nabble.com/
Re: 答复: flink使用RocksDB增量checkpoints,程序运行一段时间报出:超出物理内存
好的~谢谢大佬解答~ - Best Wishes -- Sent from: http://apache-flink.147419.n8.nabble.com/
Re: 答复: flink使用RocksDB增量checkpoints,程序运行一段时间报出:超出物理内存
配置一下 RocksDB 的native metrics,看下block cache以及 write buffer的实际使用内存。 另外,Flink中一个state会使用一个RocksDB的column family,而write buffer和block cache是一套column family 一套,所以你的operator 内的state数目多,slot内的keyed operator多,都会导致内存成倍增长 [1] https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/config.html#rocksdb-native-metrics 祝好 唐云 From: bradyMk Sent: Monday, December 7, 2020 17:05 To: user-zh@flink.apache.org Subject: Re: 答复: flink使用RocksDB增量checkpoints,程序运行一段时间报出:超出物理内存 Hi~ 可是我这边write buffer以及block cache等参数设置的都不大,都远远小于我分给tm的内存,可为什么还会报超出内存的错误呢? - Best Wishes -- Sent from: http://apache-flink.147419.n8.nabble.com/
Re: 答复: flink使用RocksDB增量checkpoints,程序运行一段时间报出:超出物理内存
Hi~ 可是我这边write buffer以及block cache等参数设置的都不大,都远远小于我分给tm的内存,可为什么还会报超出内存的错误呢? - Best Wishes -- Sent from: http://apache-flink.147419.n8.nabble.com/
Re: 答复: flink使用RocksDB增量checkpoints,程序运行一段时间报出:超出物理内存
RocksDB只是将数据可以存储在磁盘上,Flink再周期性将磁盘上数据上传到HDFS,内存中还是有LSM的write buffer以及block cache,也还是需要使用内存的 建议升级Flink版本到1.10+,引入了managed memory功能,理论上对于内存控制是要好很多的。 祝好 唐云 From: bradyMk Sent: Monday, December 7, 2020 11:27 To: user-zh@flink.apache.org Subject: Re: 答复: flink使用RocksDB增量checkpoints,程序运行一段时间报出:超出物理内存 hi~谢谢解答; 但我的状态用的是RocksDB,实质上不应该是存的磁盘么?为什么会一直占用tm的内存呢? - Best Wishes -- Sent from: http://apache-flink.147419.n8.nabble.com/
Re: 答复: flink使用RocksDB增量checkpoints,程序运行一段时间报出:超出物理内存
hi~谢谢解答; 但我的状态用的是RocksDB,实质上不应该是存的磁盘么?为什么会一直占用tm的内存呢? - Best Wishes -- Sent from: http://apache-flink.147419.n8.nabble.com/