Flink系列之:监控Checkpoint

news2024/11/26 20:39:59

Flink系列之:监控Checkpoint

  • 一、概览
  • 二、概览(Overview)选项卡
  • 三、历史记录(History)选项卡
  • 四、历史记录数量配置
  • 五、摘要信息(Summary)选项卡
  • 六、配置信息(Configuration)选项卡
  • 七、Checkpoint 详细信息

一、概览

Flink 的 Web 界面提供了选项卡/标签(tab)来监视作业的 checkpoint 信息。作业终止后,这些统计信息仍然可用。有四个不同的选项卡可显示有关 checkpoint 的信息:概览(Overview),历史记录(History),摘要信息(Summary)和配置信息(Configuration)。以下各节将依次介绍这些内容。

二、概览(Overview)选项卡

  • Checkpoint Counts

    • Triggered:自作业开始以来触发的 checkpoint 总数。
    • In Progress:当前正在进行的 checkpoint 数量。
    • Completed:自作业开始以来成功完成的 checkpoint 总数。
    • Failed:自作业开始以来失败的 checkpoint 总数。
    • Restored:自作业开始以来进行的恢复操作的次数。这还表示自 提交以来已重新启动多少次。请注意,带有 savepoint 的初始提交也算作一次恢复,如果 JobManager 在此操作过程中丢失,则该统计将重新计数。
  • Latest Completed Checkpoint:最新(最近)成功完成的 checkpoint。点击 More details 可以得到 subtask 级别的详细统计信息。

  • Latest Failed Checkpoint:最新失败的 checkpoint。点击 More details 可以得到 subtask 级别的详细统计信息。

  • Latest Savepoint:最新触发的 savepoint 及其外部路径。点击 More details 可以得到 subtask 级别的详细统计信息。

  • Latest Restore:有两种类型的恢复操作。

    • Restore from Checkpoint:从 checkpoint 恢复。
    • Restore from Savepoint:从 savepoint 恢复。

三、历史记录(History)选项卡

Checkpoint 历史记录保存有关最近触发的 checkpoint 的统计信息,包括当前正在进行的 checkpoint。

注意,对于失败的 checkpoint,指标会尽最大努力进行更新,但是可能不准确。
在这里插入图片描述

  • ID:已触发 checkpoint 的 ID。每个 checkpoint 的 ID 都会递增,从 1 开始。
  • Status:Checkpoint 的当前状态,可以是正在进行(In Progress)、已完成
    (Completed) 或失败(Failed))。如果触发的检查点是一个保存点,你将看到一个 符号。
  • Acknowledged:已确认完成的子任务数量与总任务数量。
  • Trigger Time:在 JobManager 上发起 checkpoint 的时间。
  • Latest Acknowledgement:JobManager 接收到任何 subtask 的最新确认的时间(如果尚未收到确认,则不适用)。
  • End to End Duration:从触发时间戳到最后一次确认的持续时间(如果还没有收到确认,则不适用)。完整 checkpoint 的端到端持续时间由确认 checkpoint 的最后一个 subtask 确定。这个时间通常大于单个 subtask 实际 checkpoint state 所需的时间。
  • Checkpointed Data Size: 在此次checkpoint的sync以及async阶段中持久化的数据量。如果启用了增量 checkpoint或者changelog,则此值可能会与全量checkpoint数据量产生区别。
  • Full Checkpoint Data Size: 所有已确认的 subtask 的 checkpoint 的全量数据大小。
  • Processed (persisted) in-flight data:在 checkpoint 对齐期间(从接收第一个和最后一个 checkpoint barrier 之间的时间)所有已确认的 subtask 处理/持久化 的大约字节数。如果启用了 unaligned checkpoint,持久化的字节数可能会大于0。

对于 subtask,有两个更详细的统计信息可用。
在这里插入图片描述

  • Sync Duration:Checkpoint 同步部分的持续时间。这包括 operator 的快照状态,并阻塞 subtask 上的所有其他活动(处理记录、触发计时器等)。
  • Async Duration:Checkpoint 的异步部分的持续时间。这包括将 checkpoint 写入设置的文件系统所需的时间。对于 unaligned checkpoint,这还包括 subtask 必须等待最后一个 checkpoint barrier 到达的时间(checkpoint alignment 持续时间)以及持久化数据所需的时间。
  • Alignment Duration:处理第一个和最后一个 checkpoint barrier 之间的时间。对于 checkpoint alignment 机制的 checkpoint,在 checkpoint alignment 过程中,已经接收到 checkpoint barrier 的 channel 将阻塞并停止处理后续的数据。
  • Start Delay:从 checkpoint barrier 创建开始到 subtask 收到第一个 checkpoint barrier 所用的时间。
  • Unaligned Checkpoint:Checkpoint 完成的时候是否是一个 unaligned checkpoint。在 alignment 超时的时候 aligned checkpoint 可以自动切换成 unaligned checkpoint。

四、历史记录数量配置

你可以通过以下配置键配置历史记录所保存的最近检查点的数量。默认值为 10。

# 保存最近 checkpoint 的个数
web.checkpoints.history: 15

五、摘要信息(Summary)选项卡

摘要计算了所有已完成 checkpoint 的端到端持续时间、增量/全量Checkpoint 数据大小和 checkpoint alignment 期间缓冲的字节数的简单 min/average/maximum 统计信息。

在这里插入图片描述
请注意,这些统计信息不会在 JobManager 丢失后无法保存,如果 JobManager 故障转移,这些统计信息将重新计数。

六、配置信息(Configuration)选项卡

该配置选项卡列出了你指定的配置(streaming configuration):

  • Checkpointing Mode:恰好一次(Exactly Once)或者至少一次(At least Once)。
  • Interval:配置的 checkpoint 触发间隔。在此间隔内触发 checkpoint。
  • Timeout:超时之后,JobManager 取消 checkpoint 并触发新的 checkpoint。
  • Minimum Pause Between Checkpoints:Checkpoint 之间所需的最小暂停时间。
  • Checkpoint 成功完成后,我们至少要等这段时间再触发下一个,这可能会延迟正常的间隔。
  • Maximum Concurrent Checkpoints:可以同时进行的最大 checkpoint 个数。
  • Persist Checkpoints Externally:启用或禁用持久化 checkpoint 到外部系统。如果启用,还会列出外部化 checkpoint 的清理配置(取消时删除或保留)。

七、Checkpoint 详细信息

当你点击某个 checkpoint 的 More details 链接时,你将获得其所有 operator 的 Minimum/Average/Maximum 摘要信息,以及每个 subtask 单独的详细量化信息。

在这里插入图片描述
每个 Operator 的摘要信息
在这里插入图片描述
所有 Subtask 的统计信息
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1319195.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】在vim中批量注释与批量取消注释

在vim编辑器中,批量注释和取消注释的操作可以通过进入V-BLOCK模式、选择要注释或取消注释的内容、输入注释符号或选中已有的注释符号和按键完成。这些操作可以大大提高代码或文本的编写和修改效率,是vim编辑器中常用的操作之一。 1.在vim中批量注释的步…

Git----学习Git第一步基于 Windows 10 系统和 CentOS7 系统安装 Git

查看原文 文章目录 基于 Windows 10 系统安装 Git 客户端基于 CentOS7 系统安装部署 Git 基于 Windows 10 系统安装 Git 客户端 (1)打开 git官网 ,点击【windows】 (2)根据自己的电脑选择安装,目前一般w…

Github 2023-12-18 开源项目周报 Top14

根据Github Trendings的统计,本周(2023-12-18统计)共有14个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量TypeScript项目4Python项目4Jupyter Notebook项目3非开发语言项目1JavaScript项目1Rust项目1Go项目1 基于项目…

正点原子驱动开发BUG(一)--SPI无法正常通信

目录 一、问题描述二、讲该问题的解决方案三、imx6ull的spi适配器驱动程序控制片选分析3.1 设备icm20608的驱动程序分析3.2 imx的spi适配器的驱动程序分析 四、BUG修复测试五、其他问题 一、问题描述 使用正点的im6ull开发板进行spi通信驱动开发实验的时候,主机无法…

Spring Boot 3 + Vue 3 整合 WebSocket (STOMP协议) 实现实时通信

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

VSCode 常用的快捷键和技巧系列(2)

一、如何让VSCode工程树显示图标 第一步:安装 快捷键 CtrlP ,输入 ext install vscode-icons ,然后点击安装插件 第二步:配置 安装成功后,点击Reload重新加载。 然后配置,当前图标使用VsCode-Icons Go…

Harmony4.0鸿蒙应用开发初识+实践小案例

Harmony4.0鸿蒙应用开发初识实践小案例 一、华为的“18N”产品战略 在华为HarmonyOS及全场景新品发布会上,华为介绍了华为“18N”三圈层全场景智慧生态解决方案,从而打造面向未来的全新生态,其中,1指的是手机,8指的是…

【LeetCode刷题笔记(8-1)】【Python】【接雨水】【动态规划】【困难】

文章目录 引言接雨水题目描述提示 解决方案1:【动态规划】结束语 接雨水 引言 编写通过所有测试案例的代码并不简单,通常需要深思熟虑和理性分析。虽然这些代码能够通过所有的测试案例,但如果不了解代码背后的思考过程,那么这些代…

python:import自定义包或py文件时,pyCharm正常但终端运行提示ModuleNotFoundError: No module named错误

问题 示例项目引用items.py,项目在pycharm开发工具中可以正常运行,但使用终端直接运行会报错ModuleNotFoundError: No module named。如下图。 原因 pycharm开发工具运行正常,说明目录和引用模块是没问题的。问题在于终端的运行环境只搜索文…

LLM - 大模型速递之 Yi-34B 入门与 LoRA 微调

一.引言 目前国内大部分开源模型都集中在 7B、13B,而国外开源模型则是集中在 7B、13B、70B 的尺寸范围,算法开发很需要一个介于 13B-70B 的大模型,弥补 13B 模型能力不足和 70B 模型显卡不够的空档。虽然 LLaMA-1-33B 有一些衍生的 Chinese …

Golang清晰代码指南

发挥易读和易维护软件的好处 - 第一部分 嗨,开发者们,清晰的代码是指编写易于阅读、理解和维护的软件代码。它是遵循一组原则和实践,优先考虑清晰性、简单性和一致性的代码。清晰的代码旨在使代码库更易管理,减少引入错误的可能性…

Go语言并发编程:死锁预防的性能优化之旅

文章目录 引言:Go并发编程的挑战与机遇Go并发的特点并发编程的挑战死锁对性能的影响文章概览死锁基础:原因、类型和识别死锁的定义死锁产生的原因死锁的类型识别死锁的方法代码示例:简单的死锁3. 预防策略:编写无死锁的Go代码理解并正确使用锁合理使用通道和goroutines侦测…

C# 命令行参数解析库示例

写在前面 在日常开发中,我们经常会用到命令行参数,比如cmd下的各种指令;还有C#的控制台类型的项目,在默认入口Main函数中,那个args参数,就是有系统传入到程序进程的命令行参数;在传入的参数相对…

✺ch3——数学基础

目录 3D坐标系和点矩阵单位矩阵转置矩阵逆矩阵逆转置矩阵矩阵的运算矩阵加法()矩阵乘法() 常用的变换矩阵平移矩阵缩放矩阵旋转矩阵透视矩阵正射投影矩阵LookAt矩阵 向量加法和减法点积叉积 局部空间和世界空间——模型矩阵M视觉空间和合成相机——模型-视图矩阵MV用GLSL函数构…

机器学习算法---异常检测

类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统计学检验箱…

RTOS队列的写入与读出

我们在stm32f103c8t6单片机上验证RTOS队列的写入与读出,利用stm32cube进行RTOS的配置。在选择TIM2当做RTOS的时钟,裸机的时钟源默认是 SysTick,但是开启 FreeRTOS 后,FreeRTOS会占用 SysTick (用来生成1ms 定时&#x…

flask简单应用-1

目标: 做一个搜索网页,搜索当前路径下是否含有指定关键字的文件,如果有就列出来,没有返回消息 第一步:我们需要先显示一个搜索页面,页面上需要有一个可以输入的对话框,一个按钮执行搜索 建立ht…

Vue3-05-计算属性使用详解

计算属性简介 计算属性的函数是 computed()。计算属性可以帮助我们处理有复杂逻辑的响应式数据的渲染, 从而代替 模板表达式 的写法。比如 : 一个数值类型的数组对象,我们希望页面展示的只有 偶数。 此时,就可以通过 计算属性 来…

02.Git常用基本操作

一、基本配置 (1)打开Git Bash (2)配置姓名和邮箱 git config --global user.name "Your Name" git config --global user.email "Your email" 因为Git是分布式版本控制工具,所以每个用户都需要…

手拉手EasyExcel极简实现web上传下载(全栈)

环境介绍 技术栈 springbootmybatis-plusmysqleasyexcel 软件 版本 mysql 8 IDEA IntelliJ IDEA 2022.2.1 JDK 1.8 Spring Boot 2.7.13 mybatis-plus 3.5.3.2 EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。 他能让你在不用考虑性…