其实这个主要还是要看你checkpoint的时间间隔,就像我们看视频倒退一样,它们是两个不同的后退时间点,savepoint能在当下生成checkpoint数据,但是自动的checkpoint可能还要在更早的时间点上生成checkpoint数据(因为在cancel
 job的时候可能还不到自动checkpoint时间)。两种都可以,只是是一前一后,这也决定了你任务恢复的快慢。线上需要经常修改的job 
savepoint很实用。 
个人觉得任务失败,不管是哪种方式失败(除非是savepoint),肯定是回到上一个自动checkpoint的点上,不会是在savepoint。


 原始邮件 
发件人: amen...@163.com<amen...@163.com>
收件人: user-zh<user-zh@flink.apache.org>
发送时间: 2020年1月10日(周五) 17:58
主题: Re: Re: flink savepoint checkpoint


hi,了解到使用stop进行任务停止并触发savepoint,会在停止之前生成max_watermark,并注册event-time计时器,我想请问使用yarn
 kill方式直接停止任务,会属于cancel还是stop亦或是其他? amen...@163.com From: Congxian Qiu Date: 
2020-01-10 17:16 To: user-zh Subject: Re: flink savepoint checkpoint Hi 从 Flink 
的角度看,Checkpoint 用户 Job 运行过程中发生 failover 进行恢复,savepoint 用于 Job 之间的状态复用。 另外,从 1.9 
开始,可以尝试下 StopWithSavepoint[1],以及社区另外一个 issue 尝试做 StopWithCheckpoint[2] [1] 
https://issues.apache.org/jira/browse/FLINK-11458 [2] 
https://issues.apache.org/jira/browse/FLINK-12619 Best, Congxian zhisheng 
<zhisheng2...@gmail.com> 于2020年1月10日周五 上午11:39写道: > 
hi,这个参数我理解的作用应该是:作业取消的时候是否清除之前的 checkpoint,但这个 checkpoint > 
的并不一定是作业最新的状态。而如果你取消命令的时候触发一次 savepoint,那么这次的状态就是最新且最全的。 > > 祝好! > zhisheng > > 
Px New <15701181132mr....@gmail.com> 于2020年1月10日周五 上午10:58写道: > > > Hello 
,针对于你这个问题 在FLink 中 是有这个配置的. 当程序stop时,会额外保存检查点 > > --> > > > > > > > 
env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION);
 > > > > > > lucas.wu <lucas...@xiaoying.com> 于2019年12月11日周三 上午11:56写道: > > > > 
> hi 各位: > > > > > > > > > 
有个问题想和大家讨论一下,就是flink的savepoint为什么要设置成手动的?如果在stop程序的时候没有做savepoint的话,在我重启的时候就不能使用之前保存的一些状态信息。为什么不参考spark的方式,定时做checkpoint,然后启动的时候指定ck地址就可以从上次执行的地方继续执行。
 > > >

回复