You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by 鱼子酱 <38...@qq.com> on 2020/08/03 05:50:43 UTC
Re: flink1.10.1/1.11.1 使用sql 进行group 和 时间窗口 操作后 状态越来越大
hi,您好:
我改回增量模式重新收集了一些数据:
1、数据处理速度:3000条每秒,是测试环境的,压力比较稳定,几乎没有波动
2、checkpoint是interval设置的是5秒
3、目前这个作业是每分钟一个窗口
4、并行度设置的1,使用on-yarn模式
刚启动的时候,如下:
<http://apache-flink.147419.n8.nabble.com/file/t793/6.png>
18分钟后,如下:
<http://apache-flink.147419.n8.nabble.com/file/t793/9.png>
checkpoints设置:
<http://apache-flink.147419.n8.nabble.com/file/t793/conf.png>
hdfs上面大小:
<http://apache-flink.147419.n8.nabble.com/file/t793/hdfs.png>
页面上看到的大小:
<http://apache-flink.147419.n8.nabble.com/file/t793/checkpoinsts1.png>
Congxian Qiu wrote
> Hi 鱼子酱
> 能否把在使用增量 checkpoint 的模式下,截图看一下 checkpoint size 的走势呢?另外可以的话,也麻烦你在每次
> checkpoint 做完之后,到 hdfs 上 ls 一下 checkpoint 目录的大小。
> 另外有一个问题还需要回答一下,你的处理速度大概是多少,state 的更新频率能否评估一下呢?
>
> Best,
> Congxian
>
>
> 鱼子酱 <
> 384939718@
>> 于2020年7月30日周四 上午10:43写道:
>
>> 感谢!
>>
>> flink1.11.1版本里面,我尝试了下面两种backend,目前运行了20多个小时,
>> 能够看到状态的大小在一个区间内波动,没有发现一直增长的情况了。
>> StateBackend backend =new
>>
>> RocksDBStateBackend("hdfs:///checkpoints-data/"+yamlReader.getValueByKey("jobName").toString()+"/",false);
>> StateBackend backend =new
>>
>> FsStateBackend("hdfs:///checkpoints-data/"+yamlReader.getValueByKey("jobName").toString()+"/",false);
>>
>>
>> 这样看,有可能是RocksDBStateBackend增量模式这边可能存在一些问题。
>> RocksDBStateBackend:
>> <http://apache-flink.147419.n8.nabble.com/file/t793/444.png>
>> FsStateBackend:
>> <http://apache-flink.147419.n8.nabble.com/file/t793/555.png>
>>
>>
>>
>>
>> --
>> Sent from: http://apache-flink.147419.n8.nabble.com/
>>
--
Sent from: http://apache-flink.147419.n8.nabble.com/
Re: flink1.10.1/1.11.1 使用sql 进行group 和 时间窗口 操作后 状态越来越大
Posted by "chengyanan1008@foxmail.com" <ch...@foxmail.com>.
HI:
请问这个问题有合理的解释吗,持续关注中。。。
发件人: 鱼子酱
发送时间: 2020-08-03 13:50
收件人: user-zh
主题: Re: flink1.10.1/1.11.1 使用sql 进行group 和 时间窗口 操作后 状态越来越大
hi,您好:
我改回增量模式重新收集了一些数据:
1、数据处理速度:3000条每秒,是测试环境的,压力比较稳定,几乎没有波动
2、checkpoint是interval设置的是5秒
3、目前这个作业是每分钟一个窗口
4、并行度设置的1,使用on-yarn模式
刚启动的时候,如下:
<http://apache-flink.147419.n8.nabble.com/file/t793/6.png>
18分钟后,如下:
<http://apache-flink.147419.n8.nabble.com/file/t793/9.png>
checkpoints设置:
<http://apache-flink.147419.n8.nabble.com/file/t793/conf.png>
hdfs上面大小:
<http://apache-flink.147419.n8.nabble.com/file/t793/hdfs.png>
页面上看到的大小:
<http://apache-flink.147419.n8.nabble.com/file/t793/checkpoinsts1.png>
Congxian Qiu wrote
> Hi 鱼子酱
> 能否把在使用增量 checkpoint 的模式下,截图看一下 checkpoint size 的走势呢?另外可以的话,也麻烦你在每次
> checkpoint 做完之后,到 hdfs 上 ls 一下 checkpoint 目录的大小。
> 另外有一个问题还需要回答一下,你的处理速度大概是多少,state 的更新频率能否评估一下呢?
>
> Best,
> Congxian
>
>
> 鱼子酱 <
> 384939718@
>> 于2020年7月30日周四 上午10:43写道:
>
>> 感谢!
>>
>> flink1.11.1版本里面,我尝试了下面两种backend,目前运行了20多个小时,
>> 能够看到状态的大小在一个区间内波动,没有发现一直增长的情况了。
>> StateBackend backend =new
>>
>> RocksDBStateBackend("hdfs:///checkpoints-data/"+yamlReader.getValueByKey("jobName").toString()+"/",false);
>> StateBackend backend =new
>>
>> FsStateBackend("hdfs:///checkpoints-data/"+yamlReader.getValueByKey("jobName").toString()+"/",false);
>>
>>
>> 这样看,有可能是RocksDBStateBackend增量模式这边可能存在一些问题。
>> RocksDBStateBackend:
>> http://apache-flink.147419.n8.nabble.com/file/t793/444.png>
>> FsStateBackend:
>> http://apache-flink.147419.n8.nabble.com/file/t793/555.png>
>>
>>
>>
>>
>> --
>> Sent from: http://apache-flink.147419.n8.nabble.com/
>>
--
Sent from: http://apache-flink.147419.n8.nabble.com/
Re: flink1.10.1/1.11.1 使用sql 进行group 和 时间窗口 操作后 状态越来越大
Posted by Congxian Qiu <qc...@gmail.com>.
Hi
能否把 checkpoint 的 interval 调长一点再看看是否稳定呢?从 shared 目录的数据量看,有增长,后续基本持平。现在
Checkpointed Data Size 是增量的大小[1],而不是整个 checkpoint 的数据量的大小,如果 checkpoint
之间,数据改动很多的话,这个值会变大
[1]
https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/ops/state/state_backends.html#%E5%A2%9E%E9%87%8F%E5%BF%AB%E7%85%A7
Best,
Congxian
op <52...@qq.com> 于2020年8月3日周一 下午2:18写道:
>
> 同问,我也遇到了状态越来越大的情况,使用的是1.11.0版本,用hdfs保存checkpoint,checkpoint间隔3分钟,
> 逻辑是按照 事件day 和 id 进行groupby
> 然后有十几个聚合指标,运行了7天左右,状态一直在增加,设置了失效时间,然后watermark看着也正常在走
> tConfig.setIdleStateRetentionTime(Time.minutes(1440),
> Time.minutes(1440+10))
>
>
>
>
> ------------------ 原始邮件 ------------------
> 发件人:
> "user-zh"
> <
> 384939718@qq.com>;
> 发送时间: 2020年8月3日(星期一) 中午1:50
> 收件人: "user-zh"<user-zh@flink.apache.org>;
>
> 主题: Re: flink1.10.1/1.11.1 使用sql 进行group 和 时间窗口 操作后 状态越来越大
>
>
>
> hi,您好:
> 我改回增量模式重新收集了一些数据:
> 1、数据处理速度:3000条每秒,是测试环境的,压力比较稳定,几乎没有波动
> 2、checkpoint是interval设置的是5秒
> 3、目前这个作业是每分钟一个窗口
> 4、并行度设置的1,使用on-yarn模式
>
> 刚启动的时候,如下:
> <http://apache-flink.147419.n8.nabble.com/file/t793/6.png>
>
> 18分钟后,如下:
> <http://apache-flink.147419.n8.nabble.com/file/t793/9.png>
>
> checkpoints设置:
> <http://apache-flink.147419.n8.nabble.com/file/t793/conf.png>
>
> hdfs上面大小:
> <http://apache-flink.147419.n8.nabble.com/file/t793/hdfs.png>
>
> 页面上看到的大小:
> <http://apache-flink.147419.n8.nabble.com/file/t793/checkpoinsts1.png>
>
>
> Congxian Qiu wrote
> > Hi 鱼子酱
> > 能否把在使用增量 checkpoint 的模式下,截图看一下 checkpoint
> size 的走势呢?另外可以的话,也麻烦你在每次
> > checkpoint 做完之后,到 hdfs 上 ls 一下 checkpoint 目录的大小。
> > 另外有一个问题还需要回答一下,你的处理速度大概是多少,state 的更新频率能否评估一下呢?
> >
> > Best,
> > Congxian
> >
> >
> > 鱼子酱 <
>
> > 384939718@
>
> >> 于2020年7月30日周四 上午10:43写道:
> >
> >> 感谢!
> >>
> >> flink1.11.1版本里面,我尝试了下面两种backend,目前运行了20多个小时,
> >> 能够看到状态的大小在一个区间内波动,没有发现一直增长的情况了。
> >> StateBackend backend =new
> >>
> >>
> RocksDBStateBackend("hdfs:///checkpoints-data/"+yamlReader.getValueByKey("jobName").toString()+"/",false);
> >> StateBackend backend =new
> >>
> >>
> FsStateBackend("hdfs:///checkpoints-data/"+yamlReader.getValueByKey("jobName").toString()+"/",false);
> >>
> >>
> >> 这样看,有可能是RocksDBStateBackend增量模式这边可能存在一些问题。
> >> RocksDBStateBackend:
> >> &lt;
> http://apache-flink.147419.n8.nabble.com/file/t793/444.png&gt;
> >> FsStateBackend:
> >> &lt;
> http://apache-flink.147419.n8.nabble.com/file/t793/555.png&gt;
> >>
> >>
> >>
> >>
> >> --
> >> Sent from: http://apache-flink.147419.n8.nabble.com/
> >>
>
>
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
回复: flink1.10.1/1.11.1 使用sql 进行group 和 时间窗口 操作后 状态越来越大
Posted by op <52...@qq.com>.
同问,我也遇到了状态越来越大的情况,使用的是1.11.0版本,用hdfs保存checkpoint,checkpoint间隔3分钟,
逻辑是按照 事件day 和 id 进行groupby 然后有十几个聚合指标,运行了7天左右,状态一直在增加,设置了失效时间,然后watermark看着也正常在走
tConfig.setIdleStateRetentionTime(Time.minutes(1440), Time.minutes(1440+10))
------------------ 原始邮件 ------------------
发件人: "user-zh" <384939718@qq.com>;
发送时间: 2020年8月3日(星期一) 中午1:50
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: Re: flink1.10.1/1.11.1 使用sql 进行group 和 时间窗口 操作后 状态越来越大
hi,您好:
我改回增量模式重新收集了一些数据:
1、数据处理速度:3000条每秒,是测试环境的,压力比较稳定,几乎没有波动
2、checkpoint是interval设置的是5秒
3、目前这个作业是每分钟一个窗口
4、并行度设置的1,使用on-yarn模式
刚启动的时候,如下:
<http://apache-flink.147419.n8.nabble.com/file/t793/6.png>
18分钟后,如下:
<http://apache-flink.147419.n8.nabble.com/file/t793/9.png>
checkpoints设置:
<http://apache-flink.147419.n8.nabble.com/file/t793/conf.png>
hdfs上面大小:
<http://apache-flink.147419.n8.nabble.com/file/t793/hdfs.png>
页面上看到的大小:
<http://apache-flink.147419.n8.nabble.com/file/t793/checkpoinsts1.png>
Congxian Qiu wrote
> Hi 鱼子酱
> 能否把在使用增量 checkpoint 的模式下,截图看一下 checkpoint size 的走势呢?另外可以的话,也麻烦你在每次
> checkpoint 做完之后,到 hdfs 上 ls 一下 checkpoint 目录的大小。
> 另外有一个问题还需要回答一下,你的处理速度大概是多少,state 的更新频率能否评估一下呢?
>
> Best,
> Congxian
>
>
> 鱼子酱 <
> 384939718@
>> 于2020年7月30日周四 上午10:43写道:
>
>> 感谢!
>>
>> flink1.11.1版本里面,我尝试了下面两种backend,目前运行了20多个小时,
>> 能够看到状态的大小在一个区间内波动,没有发现一直增长的情况了。
>> StateBackend backend =new
>>
>> RocksDBStateBackend("hdfs:///checkpoints-data/"+yamlReader.getValueByKey("jobName").toString()+"/",false);
>> StateBackend backend =new
>>
>> FsStateBackend("hdfs:///checkpoints-data/"+yamlReader.getValueByKey("jobName").toString()+"/",false);
>>
>>
>> 这样看,有可能是RocksDBStateBackend增量模式这边可能存在一些问题。
>> RocksDBStateBackend:
>> &lt;http://apache-flink.147419.n8.nabble.com/file/t793/444.png&gt;
>> FsStateBackend:
>> &lt;http://apache-flink.147419.n8.nabble.com/file/t793/555.png&gt;
>>
>>
>>
>>
>> --
>> Sent from: http://apache-flink.147419.n8.nabble.com/
>>
--
Sent from: http://apache-flink.147419.n8.nabble.com/
Re: flink1.10.1/1.11.1 使用sql 进行group 和 时间窗口 操作后 状态越来越大
Posted by Storm☀️ <st...@163.com>.
在测试环境:
关闭增量chk,全量的state大小大约在:100M左右;
之前开启:我观察了一段时间,膨胀到5G,而且还一直在增长;
sql:
select sum(xx) group by 1 分钟窗口
过期时间设置的为:5-30min
--
Sent from: http://apache-flink.147419.n8.nabble.com/
Re: flink1.10.1/1.11.1 使用sql 进行group 和 时间窗口 操作后 状态越来越大
Posted by Yun Tang <my...@live.com>.
Hi @Storm
checkpoint的增量模式目前仅对RocksDB生效,这里的增量是指上传新产生的DB sst文件。而RocksDB的全量模式是将DB的有效kv进行序列化写出,除非有大量的数据没有compaction清理掉,否则不可能出现增量checkpoint size无限膨胀,而全量checkpoint正常的问题,你这里的无限膨胀的size范围是多大呢?
祝好
唐云
________________________________
From: Storm☀️ <st...@163.com>
Sent: Tuesday, December 22, 2020 19:52
To: user-zh@flink.apache.org <us...@flink.apache.org>
Subject: Re: flink1.10.1/1.11.1 使用sql 进行group 和 时间窗口 操作后 状态越来越大
唐云大佬好,
我关闭了chk的增量模式之后,chkstate确实不会再无线膨胀了。这个是我配置的不准确,还是一个已知问题呢
--
Sent from: http://apache-flink.147419.n8.nabble.com/
Re: flink1.10.1/1.11.1 使用sql 进行group 和 时间窗口 操作后 状态越来越大
Posted by Storm☀️ <st...@163.com>.
唐云大佬好,
我关闭了chk的增量模式之后,chkstate确实不会再无线膨胀了。这个是我配置的不准确,还是一个已知问题呢
--
Sent from: http://apache-flink.147419.n8.nabble.com/
Re: flink1.10.1/1.11.1 使用sql 进行group 和 时间窗口 操作后 状态越来越大
Posted by Yun Tang <my...@live.com>.
Hi
RocksDB 的文件更新策略是依赖于level-0的文件数目以及level-1 ~ level-N的每层文件总size,可以参照RocksDB社区关于conpaction的图文描述[1]。默认情况下level-1的target size 是256MB [2],也就是说level-1的总size在256MB以下时,应该是没有触发compaction来降低文件大小的。
从你的UI截图看,实际上checkpoint size很小,建议达到一定数据规模之后,再观察是否“状态越来越大”
[1] https://github.com/facebook/rocksdb/wiki/Leveled-Compaction#structure-of-the-files
[2] http://www.leviathan.vip/2018/03/05/Rocksdb%E7%9A%84Compact/
祝好
唐云
________________________________
From: chengyanan1008@foxmail.com <ch...@foxmail.com>
Sent: Friday, August 7, 2020 10:32
To: user-zh <us...@flink.apache.org>
Subject: Re: flink1.10.1/1.11.1 使用sql 进行group 和 时间窗口 操作后 状态越来越大
HI:
请问这个问题有合理的解释吗,持续关注中。。。
发件人: 鱼子酱
发送时间: 2020-08-03 13:50
收件人: user-zh
主题: Re: flink1.10.1/1.11.1 使用sql 进行group 和 时间窗口 操作后 状态越来越大
hi,您好:
我改回增量模式重新收集了一些数据:
1、数据处理速度:3000条每秒,是测试环境的,压力比较稳定,几乎没有波动
2、checkpoint是interval设置的是5秒
3、目前这个作业是每分钟一个窗口
4、并行度设置的1,使用on-yarn模式
刚启动的时候,如下:
<http://apache-flink.147419.n8.nabble.com/file/t793/6.png>
18分钟后,如下:
<http://apache-flink.147419.n8.nabble.com/file/t793/9.png>
checkpoints设置:
<http://apache-flink.147419.n8.nabble.com/file/t793/conf.png>
hdfs上面大小:
<http://apache-flink.147419.n8.nabble.com/file/t793/hdfs.png>
页面上看到的大小:
<http://apache-flink.147419.n8.nabble.com/file/t793/checkpoinsts1.png>
Congxian Qiu wrote
> Hi 鱼子酱
> 能否把在使用增量 checkpoint 的模式下,截图看一下 checkpoint size 的走势呢?另外可以的话,也麻烦你在每次
> checkpoint 做完之后,到 hdfs 上 ls 一下 checkpoint 目录的大小。
> 另外有一个问题还需要回答一下,你的处理速度大概是多少,state 的更新频率能否评估一下呢?
>
> Best,
> Congxian
>
>
> 鱼子酱 <
> 384939718@
>> 于2020年7月30日周四 上午10:43写道:
>
>> 感谢!
>>
>> flink1.11.1版本里面,我尝试了下面两种backend,目前运行了20多个小时,
>> 能够看到状态的大小在一个区间内波动,没有发现一直增长的情况了。
>> StateBackend backend =new
>>
>> RocksDBStateBackend("hdfs:///checkpoints-data/"+yamlReader.getValueByKey("jobName").toString()+"/",false);
>> StateBackend backend =new
>>
>> FsStateBackend("hdfs:///checkpoints-data/"+yamlReader.getValueByKey("jobName").toString()+"/",false);
>>
>>
>> 这样看,有可能是RocksDBStateBackend增量模式这边可能存在一些问题。
>> RocksDBStateBackend:
>> http://apache-flink.147419.n8.nabble.com/file/t793/444.png>
>> FsStateBackend:
>> http://apache-flink.147419.n8.nabble.com/file/t793/555.png>
>>
>>
>>
>>
>> --
>> Sent from: http://apache-flink.147419.n8.nabble.com/
>>
--
Sent from: http://apache-flink.147419.n8.nabble.com/