Skip to main content

任务管理

  • 提交任务

    1. 对于新开发的任务,在提交到运维模块后,需要在【任务运维】中再通过「提交」操作,将任务提交到集群上运行。
    2. 对于编辑修改的任务,如果仅仅调整了环境参数任务设置,在【数据开发】中提交任务后,系统会在【任务运维】页面自动执行【停止任务(保存sp)—>任务提交—>任务续跑(从sp处)】
  • 停止任务

    • 对于运行中的任务,支持手动进行停止。在停止时,可以选择是否保存Savepoint。如果保存了,在任务续跑时可以通过Savepoint进行恢复并续跑。

      image-20220708113324456

    • 如果选择保存Savepoint,可能会因为状态过大导致保存失败,此时任务会自动继续运行。您也可以通过「强制停止」来丢弃Savepoint直接停止任务。(生产环境不建议强制停止)

  • 续跑任务

    可以通过三种方式续跑任务:

    • 通过Savepoint续跑。前提是上次手动停止任务时,保存了Savepoint文件。
    • 通过Checkpoint续跑。在任务开发的过程中,我们在环境参数中配置了Checkpoint自动生成规则,此时就可以选择在某个时间点生成的Checkpoint文件进行续跑。
    • 通过指定文件续跑。如果任务做过集群迁移,导致原来的Checkpoint文件路径发生了变化,可以通过该方式指定文件路径进行续跑。

    image-20220708140529293

note

Checkpoint和Savepoint的对比:

Checkpoint是Flink的一种自动容错恢复机制。通过周期自动生成快照文件,保障任务在发生故障后能进行恢复。只要在实时任务中配置好相关参数,Flink会自动生成、删除快照文件等,无需用户介入交互。

Savepoint是出于某种操作目的手动触发生成的全局状态镜像。保障在程序升级、任务修改这类情况后还能从状态位进行恢复。区别是需要用户触发,并且不会自动删除Savepoint文件。

  • 重跑任务

    在任务重跑时,任务已保存的状态均会被删除,将根据配置的任务参数重新开始执行。

    支持选择 使用上次任务参数重跑修改Kafka Offset至一个具体的时间点对任务进行重跑。

    image-20220708140746749

note

有状态的计算是流处理框架要实现的重要功能,因为稍复杂的流处理场景都需要记录状态,然后在新流入数据的基础上不断更新状态。上面在续跑任务时提到的Checkpoint、Savepoint功能都是为了保证Flink状态的容错性、一致性。

  • 修改任务

    需要注意的是对于运行中的任务,在修改后无法提交(可以保存),需要先将任务停止才能重新提交。

  • 手动重绑

    平台任务状态可能在某些特殊情况下会和集群YARN上的实际状态不一致。(比如当操作任务停止,由于savepoint过大导致停止失败时,平台显示任务已经取消但实际在YARN上还在运行中)

    在任务的批量操作功能中,支持将平台任务和YARN上的任务重新绑定一下来同步任务状态。

    image-20220708141822851

  • 下线任务

    平台任务非运行中状态的任务操作下线按钮及批量下线按钮将任务在运维列表中移除,可在数据开发页面中重新提交。

    image-20220708141822851

  • 跳转Flink UI

    平台任务运行中状态的任务支持跳转到Flink web UI页面,便于排查问题

    image-stream614_11270.png