Hi 嘉贤,

这不太符合预期。请问任务中间有发生手动Cancel的情况吗?这种情况下,Flink的默认行为是RETAINED_ON_CANCELLATION,需要手动清理。
如果你希望在任务CANCEL之后将Checkpoint清理,可以考虑调整参数execution-checkpointing-externalized-checkpoint-retention[1].


[1] 
http://stream.devops.sit.xiaohongshu.com/docs/red/docs/deployment/config/#execution-checkpointing-externalized-checkpoint-retention

Best,
Yu Chen


> 2023年11月8日 13:08,梁嘉贤 <lian...@sutpc.com> 写道:
> 
> Hi, 我纠正一下我的问题,是taskmanager中checkpoints数量越来越多占用磁盘。同时,补充一下以下信息:
> 我通过把task manager的checkpoint路径挂载到本地,采用du 
> -h命令查看checkpoint中的结果,发现任务中会持续增加chk,导致占用磁盘越来越大,如下图
> 我的疑问是,如何把这些历史chk文件删掉?
> <2dfdf...@88d32a26.b2174b6500000000.png>
> 
> 
> 
> 
> 
> 梁嘉贤
> 深圳市城市交通规划设计研究中心有限公司/数据模型中心
>  
>  
>  
> ------------------ Original ------------------
> From:  "Yu Chen"<yuchen.e...@gmail.com>;
> Date:  Wed, Nov 8, 2023 12:59 PM
> To:  "梁嘉贤"<lian...@sutpc.com>;
> Cc:  "user"<user@flink.apache.org>;
> Subject:  Re: 配置了state.checkpoints.num-retained为1,但taskmanger 
> 中checkpoints数量越来越多,占用内存,如何解决?
>  
> Hi 嘉贤,
> 
> Flink Web上展示的Checkpoint的历史记录,state-checkpoints.num-retained参数会控制在Checkpoint 
> storage中存储的checkpoint数量,Flink会滚动删除Checkpoint 
> storage的checkpoint文件,但是这个过程中Flink 
> Web上记录是不会删除的(你可以在对应的Checkpoint记录的Path上的地址去确认)。
> 同时,如果你是Heap 
> StateBackend,那么状态是存储到内存里的,checkpoint是flush到文件的。之所以内存增大大概率是任务本身导致的,而非历史Checkpoint导致(例如全局窗口聚合且未设置State
>  TTL的场景),如果要定位内存上涨的原因还需要更多的作业信息。
> 另外,如果你希望确认参数是否生效,可以在JobManager的Configuration一栏查看。
> 
> Best,
> Yu Chen
> 
> > 2023年11月8日 11:56,梁嘉贤 <lian...@sutpc.com> 写道:
> > 
> > 您好,
> >       采用Flink 1.14 
> > 版本,用docker分别建立了jobmanger和taskmanager两个容器,docker-compose.yml信息如下图1所示。
> >       在配置中,设置了state.checkpoints.num-retained : 
> > 1,但在web中看到checkpoint持续增多(下图2),在taskmanager容器中的checkpoint数量也持续增多,请问可以怎么清理这些历史checkpoint吗?
> >   
> > <b2f07...@09951a67.eb064b6500000000.png><03b4c...@04cd7323.eb064b6500000000.png>
> 

Reply via email to