系统检查点和作业快照的统称叫做状态集。本文为您详细介绍如何管理作业的状态集,包括创建、查看、删除和从指定状态恢复。
背景信息
概念 | 详情 |
---|---|
系统检查点 (对应Apache Flink社区的Checkpoint) | 生命周期完全由Flink系统管理,用户无法进行手动创建和删除,只能查看其生成情况。作业会默认保留一个系统检查点作为作业恢复时可选择的状态集中的一部分。 |
作业快照 (对应Apache Flink社区的Savepoint) | 生命周期完全由用户管理,具体表现在以下方面:
说明 当配置为定时生成或清理时,系统是根据用户配置的规则进行,因此也属于用户管理。 |
针对系统检查点和作业快照,支持您进行以下操作,具体的使用场景和文档链接如下表所示。
操作 | 使用场景 | 文档链接 |
---|---|---|
手动创建作业快照 | 如果您需要在某个特定时间(作业运行时或者停止时)手动创建一个作业快照,并希望从该快照恢复作业,则可以手动创建作业快照。 重要
| |
配置定时自动创建作业快照 | 如果您需要系统可以自动定时创建作业快照,则可以配置作业快照创建周期。保存该规则后,作业运行过程中,系统会根据此周期来自动创建作业快照,无需您进行手动创建。 | 配置定时自动创建作业快照 |
查看系统检查点和作业快照生成总览 | 您可以在总览处,了解系统检查点和作业快照的生成历史,通过生成状态和相关时间快速了解作业状态的保存情况。 | 查看状态生成总览 |
从(其他作业)指定快照恢复作业 | 如果您需要从指定快照恢复作业,则可以指定作业快照,进行作业恢复。 说明 支持作业间快照的共享,此时您需要满足作业间的状态的兼容性。例如,进行双跑测试。 | 从(其他作业)指定快照恢复作业 |
配置作业快照自动清理规则 | 如果您需要系统可以自动清理作业快照,不再人工手动删除快照,则可以配置作业快照保存个数或是保存时间信息。保存该规则后,作业运行过程中,系统会根据此规则自动清理快照。 说明
| 配置作业快照自动清理规则 |
手动删除指定作业快照 | 作业停止前不再自动删除您手动创建的作业快照,因此您需要定时删除过时的作业快照。否则会导致不必要的OSS存储空间占用,进而引发不必要的存储费用。 | 手动删除指定作业快照 |
设置State相关参数 | 设置流状态存储系统、SQL作业的State TTL和作业快照过程中产生的临时数据是否储存在本地磁盘等相关参数。 | 设置State相关参数 |
手动创建作业快照
说明 仅运行中的作业支持手动创建作业快照。
- 进入目标作业快照创建界面。
- 登录实时计算控制台。
- 在Flink全托管页签,单击对应工作空间操作列下的控制台。
- 在左侧导航栏上,选择 。
- 单击目标作业名称。
- 在页面右上角,单击快照。
- 选择快照格式,并填写快照描述。
- 单击创建。
配置定时自动创建作业快照
- 进入状态集管理入口。
- 登录实时计算控制台。
- 在Flink全托管页签,单击对应工作空间操作列下的控制台。
- 在左侧导航栏上,选择 。
- 单击目标作业名称。
- 单击状态集管理。
- 在配置页签,打开作业快照定时生成开关和设置周期。说明 最小间隔为10分钟。如果输入的Cron表达式小于10分钟,则系统默认按10分钟触发。
- 单击保存更改。
查看状态生成总览
- 进入状态集管理入口。
- 登录实时计算控制台。
- 在Flink全托管页签,单击对应工作空间操作列下的控制台。
- 在左侧导航栏上,选择 。
- 单击目标作业名称。
- 单击状态集管理。
- 在总览页签,查看以下信息。
类别 总览信息 系统检查点 可以查看上次成功和失败的系统检查点信息,包括ID、完成时间、持续时间和全量存储大小。 作业快照 可以查看上次成功和失败的作业快照信息,包括快照ID、完成时间、持续时间或失败时间。
从(其他作业)指定快照恢复作业
说明 仅已停止的作业支持从指定快照恢复作业。如果您的作业为运行中,则需要先停止作业。
配置作业快照自动清理规则
- 进入状态集管理入口。
- 登录实时计算控制台。
- 在Flink全托管页签,单击对应工作空间操作列下的控制台。
- 在左侧导航栏上,选择 。
- 单击目标作业名称。
- 单击状态集管理。
- 在配置页签,配置定时自动清理规则。
- 单击保存更改。
手动删除指定作业快照
- 进入状态集管理入口。
- 登录实时计算控制台。
- 在Flink全托管页签,单击对应工作空间操作列下的控制台。
- 在左侧导航栏上,选择 。
- 单击目标作业名称。
- 单击状态集管理。
- 在历史页签,鼠标向下滑动。
- 在作业快照生成历史列表中,找到目标快照。
- 在目标快照的操作列,选择 。
- 单击确定。
设置State相关参数
- 进入目标作业运维页面。
- 登录实时计算控制台。
- 在Flink全托管页签,单击对应工作空间操作列下的控制台。
- 在左侧导航栏上,选择 。
- 单击目标作业名称。
- 单击返回开发。
- 在页面右侧高级配置面板的更多Flink配置中,添加代码后保存生效,代码示例如下。
state.backend.incremental: true table.exec.state.ttl: 129600000
Flink全托管可以设置的基础参数和高级参数详情请参见企业级状态后端存储配置。