大佬们,有这样一个需求:将报警信息同步到 ES 中。
流程如下:
听起来很简单的需求,但问题是 flink 的内存一直涨,搜索一番得知是没有清除 flink 的状态,问题是我设了 ttl 清除状态,相应的数据在 ES 中就被删了,请问各位大佬是我哪里使用姿势不对吗?
1
liprais 2023-06-29 13:57:24 +08:00
你处理完了手动清除下状态不就完了
|
2
QunLeLZ 2023-06-29 14:40:13 +08:00
看看是不是 ttl 的时间设置的太短,数据还没 join 上就把 state 清了呗
|
4
xianzhe OP @QunLeLZ 问题在于我无法给出一个合适的 ttl ,收到的报警的状态是会改变的,比如昨天报警出现了,没人知道它什么时候能恢复,不管我怎么设置 ttl 都有可能使得 es 中的状态不对
|
5
liprais 2023-06-29 16:51:02 +08:00
@xianzhe 你怎么设置状态就怎么清理呗
我很好奇你是怎么把 state 和 es 关联起来的 state ttl 应该只影响 flink 自己的 state,要清除 es 里面的不是得写 code 去改么... |
6
sijue 2023-06-29 17:27:41 +08:00
flink state 设置 ttl 是可以清理状态的,需要注意 ttl 的清理策略,是写时和创建更新还是读时和写时更新;
|