任务管理与任务运维
更新时间: 2024-12-04 15:39:25
实时同步任务运维
在实时同步任务页面,可对已创建的任务进行维护。支持查看任务状态、编辑任务、启动/停止任务、查看Flink页面、查看日志、复制/删除任务,设置监控及告警等操作。
任务状态
目前任务状态一共7种,任务状态、含义及支持的运维相关操作如下:
配置项 | 描述 | 可支持的操作 | 监控 | Flink页面 |
---|---|---|---|---|
未启动 | 任务从未启动过,可以启动任务,但是无法从 Checkpoint 启动。 | 可启动、不可停止。 | - | - |
启动中 | 任务处于启动中,可能正在向集群提交,也可能在等待集群分配资源。 | 不可启动、不可停止。 | - | - |
运行中 | 任务被提交到集群上,并且成功的分配到了资源。 | 不可启动、可停止。 | 可进入监控页面查看任务监控指标 | 可查看FLINK UI |
停止中 | 任务正在停止,平台正在通知 Flink JobManager 停止任务,如果用户指定了停止前保存 SavePoint,此时任务也可能正在生成 SavePoint。 | 不可启动、不可停止。 | 可进入监控页面查看任务监控指标 | 可查看FLINK UI |
停止 | 任务成功停止。 | 可启动、不可停止。 | 可进入监控页面查看任务监控指标 | 可查看Yarn日志 |
启动失败 | 任务在启动过程中遇到问题导致无法成功的提交到集群上,可能的原因是集群资源不足,也可能是任务本身的问题导致或者是启动过程过长最终超时导致平台终止启动行为。具体的原因用户可以在任务日志-启动日志中查看。任务在启动失败的时候会收到一次启动失败的报警。 | 可启动、不可停止。 | - | 可查看Yarn日志 |
运行失败 | 任务在集群上运行过程中遇到问题,导致任务运行失败,并且无法通过计算集群本身的HA策略恢复。当遇到这种状态时,用户可以通过页面右上方的任务页面,打开任务在计算集群的页面查询最终的日志信息。任务在运行失败状态时会每隔一定间隔时间就会收到一次报警,用户可以通过关闭报警,或点击停止按钮将任务状态置为停止来关闭报警。 | 不可启动、可停止。 | 可进入监控页面查看任务监控指标 | 可查看Yarn日志 |
任务启动
将任务启动前需要配置相关参数,点击“启动”按钮进入配置页面。目前,实时同步任务支持从CP启动、从SP启动、直接启动或自定义位启动。
运行配置支持运行参数、Checkpoint参数、重启策略、Flink高级配置、自定义配置,具体如下:
配置项 | 描述 |
---|---|
运行参数 | 队列:相应集群下的资源队列信息 Slots:Flink进程启动时分配的slot数量(slot为Flink集群调度资源的最小单位) TM内存:TaskManager被分配的内存大小 JM内存:JobManager被分配的内存大小 并发数量:Flink进程的并行度 |
CheckPoint参数 | 间隔:两次CheckPoint发生的间隔时间 模式:EXACTLY_ONCE(恰好一次)或AT_LAST_ONCE(至少一次)
|
重启策略 | 重启策略:Failure_Rate(失败率重启策略)和Fixed_Delay(固定间隔重启策略)
重启时间范围:当超出此范围时任务仍未重启成功,任务置失败;仅当选择Failure_Rate时支持选择。 重启时间间隔:两次任务重启发生的间隔时间。 |
Flink高级配置 | 支持以Key Value键值对的方式添加Flink自定义配置参数,实现诸如JM/TM GC参数配置等功能,具体可参考Flink官方文档。 |
自定义配置 | 支持以Key Value键值对的方式添加平台运行参数,实现任务提交超时时间控制等功能。 |
报警设置
在操作栏中,点击更多,选择“报警”,可进行报警相关的设置。
在页面中支持报警规则、报警接收人、报警抑制时间、是否关闭报警的设置。
当前支持规则包括任务失败、failover、数据滞留延迟、输入QPS、输出QPS、Checkpoint失败次数、滞留数据量、反压,其中任务失败、failover以及数据滞留延迟默认项。报警接收方式取决于实际部署情况,支持报警间隔的设置。
Flink页面
在操作栏中点击“Flink页面”按钮,打开Apache Flink Web Dashboard页面,在该页面中可以查看Flink任务的运行情况。
监控页面
在操作栏-更多中点击“监控”按钮,打开监控页面页面顶栏显示当前任务名称、FlinkJobId、LimitTime 信息,更改 LimitTime 可以调整曲线图显示的时间周期。
监控页面主要有以下几项内容:
- 吞吐量/延迟:展示任务数据滞留延迟、数据滞留量、输入输出 QPS 等数据信息。
- Failover:展示任务启动耗时及 Failover 次数。
- CheckPoint:展示上一次 CheckPoint 大小、上一次 CheckPoint 持续时间、Compeleted CheckPoint 个数等信息。
- CPU/内存:展示 TaskManager CPU 负载、TaskManager Heap 内存用量、TaskManager Direct 内存用量以及 TM GC 信息。
- 反压:展示 InPoolUsage 与 OutPoolUsage 信息。
- RocksDB:展示当前延迟写速率、写入是否停止、MemTable 的总大小、block cache 的总大小等信息。
- 启停时间监控:展示最新任务的启停时间信息。