flink中保存点和检查点的区别

sycxhyv7  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(677)

我知道stackoverflow上也有类似的问题,但在调查了其中几个之后,我知道了 savepoint 手动触发,而 checkpoint 自动触发
它们使用不同的存储格式
但这些并不是让人困惑的地方,我不知道什么时候该用一个,什么时候该用另一个。
考虑以下两种情况:
如果我需要关闭或重新启动整个应用程序的某些原因(如错误修复或意外崩溃),那么我将不得不使用 savepoint 恢复整个应用程序?
我以为 checkpoint 仅在flink内部用于应用程序运行时的容错,即应用程序本身正在运行,但任务或其他东西可能会失败,即flink将使用 checkpoint 为了国家恢复?
还有 externalized checkpoint ,我想这和 savepoint 在功能上,也就是说, externalized checkpoint 也可用于从重新启动的应用程序中恢复?

vqlkdk9b

vqlkdk9b1#

flink是否使用检查点进行状态恢复?
基本上你是对的。正如您所说,检查点通常在flink内部用于容错,它更像是框架内的一个概念。当应用程序失败时,程序将尝试从最新的检查点重新启动。这就是为什么在Flink检查站工作,没有任何人为干预。
我应该使用savepoint来恢复整个应用程序以修复bug吗?
对。在这些情况下,您不希望从检查点恢复,因为最近的检查点可能发生在几分钟前。相反,您希望快照整个应用程序的当前状态,并从最新的保存点重新启动它,这可能是恢复应用程序而不需要太多延迟的最快方法。
外部化检查点。
它仍然是检查点,但将根据您的配置在外部持久化。它可以用来恢复应用程序,但是状态不是那么实时,因为检查点之间存在间隔。
欲了解更多信息,请查看以下博客文章:https://data-artisans.com/blog/differences-between-savepoints-and-checkpoints-in-flink.

相关问题