Savepoint触发方式触发方式目前有三种 使用 flink savepoint 命令触发 Savepoint,其是在程序运行期间触发 savepoint。 使用 flink cancel -s 命令,取消作业时,并触发 Savepoint。 使用 Rest API 触发 Savepoint,格式为:*/jobs/:jobid /savepoints*。。。怎么记。。
时间: 2023-06-25 10:04:55 浏览: 305
可以通过以下方式来记忆:
1. 使用 flink savepoint 命令触发 Savepoint,是在程序运行期间手动触发,类似于需要在某个特定的点上保存程序状态,类似于“手动保存”。
2. 使用 flink cancel -s 命令,取消作业时,并同时触发 Savepoint,类似于“紧急备份”。
3. 使用 Rest API 触发 Savepoint,可以通过 HTTP 请求来触发 Savepoint,类似于“远程备份”。
可以根据这些关键词来记忆,如手动、紧急、远程备份,以及对应的命令和方式。
相关问题
flink的savepoint触发过程涉及到的类是如何协调工作的
flink的savepoint触发过程涉及到的类,是通过协调工作来实现savepoint操作的。具体来说,这些类的协调工作如下:
1. SavepointCoordinator会根据SavepointTrigger的配置触发savepoint操作,并生成一个SavepointMetaData对象,表示新的savepoint开始。
2. SavepointCoordinator会向所有任务发送SavepointBarrier信号,通知它们在栅栏处同步,并等待所有任务的响应。
3. 当任务收到SavepointBarrier信号时,它会先将当前状态写入SavepointStreamFactory创建的流中,然后向SavepointCoordinator发送确认消息。
4. 当SavepointCoordinator收到所有任务的确认消息后,它会将SavepointMetaData和SavepointStreamFactory创建的流交给SavepointStorage进行持久化存储。
5. 如果SavepointStorage成功存储了savepoint数据,SavepointCoordinator会将新的savepoint状态更新,并通知所有任务继续执行。
6. 如果在savepoint过程中出现错误,SavepointCoordinator会尝试进行重试,如果重试失败,则将应用程序标记为失败并停止执行。
7. 当应用程序重新启动时,用户可以根据SavepointMetaData中的信息将应用程序状态恢复到指定的savepoint状态。
8. 当应用程序停止时,SavepointCommitter会清理过期的savepoint数据,以释放存储空间。
总之,flink的savepoint操作涉及到的类通过协调工作,实现了数据的快照和持久化存储,以及任务的同步和恢复。这个过程是自动完成的,用户只需要根据SavepointMetaData中的信息恢复应用程序状态即可。
flink的savepoint触发过程涉及到的类
flink的savepoint是指将Flink应用程序的状态保存到持久化存储系统中,以便在重新启动应用程序时恢复其状态。savepoint操作涉及到的类包括:
1. SavepointCoordinator:负责协调和触发savepoint操作。
2. SavepointTrigger:定义何时触发savepoint操作的策略。
3. SavepointStorage:定义savepoint数据的持久化存储方式。
4. SavepointOptions:定义savepoint操作的参数,例如超时时间和最大并行度等。
5. SavepointBarrier:用于在任务之间同步savepoint操作的栅栏。
6. SavepointMetaData:用于存储savepoint元数据,例如savepoint的ID和时间戳等。
7. SavepointStreamFactory:用于创建用于写入savepoint数据的流。
8. SavepointCommitter:用于在savepoint完成后提交savepoint数据,并清理过期的savepoint数据。
这些类共同协作,实现了flink的savepoint操作。其中,SavepointCoordinator是最核心的类,它负责协调和触发savepoint操作,而SavepointTrigger、SavepointStorage和SavepointOptions等类则为其提供了必要的支持。