Re: 答复: flink使用RocksDB增量checkpoints,程序运行一段时间报出:超出物理内存

2020-12-07 文章 bradyMk
这面还想多请教一下:

我程序中每来一条数据都会去读MapState然后覆盖写入新的时间戳,刚刚发现某一条数据读出了两条一样的时间戳,我推断是第一个线程读出来后还没等覆盖掉,第二个线程又读了一遍,导致出现两条一样的时间戳;

所以想请问flink中MapState是线程安全的吗?



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

Re: 答复: flink使用RocksDB增量checkpoints,程序运行一段时间报出:超出物理内存

2020-12-07 文章 bradyMk
好的~谢谢大佬解答~



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


Re: 答复: flink使用RocksDB增量checkpoints,程序运行一段时间报出:超出物理内存

2020-12-07 文章 Yun Tang
配置一下 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,程序运行一段时间报出:超出物理内存

2020-12-07 文章 bradyMk
Hi~

可是我这边write buffer以及block cache等参数设置的都不大,都远远小于我分给tm的内存,可为什么还会报超出内存的错误呢?



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

Re: 答复: flink使用RocksDB增量checkpoints,程序运行一段时间报出:超出物理内存

2020-12-07 文章 Yun Tang
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,程序运行一段时间报出:超出物理内存

2020-12-06 文章 bradyMk
hi~谢谢解答;

但我的状态用的是RocksDB,实质上不应该是存的磁盘么?为什么会一直占用tm的内存呢?



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