如何排查 Flink Checkpoint 失败问题?
分析&回答
这是 Flink 相关工作中最常出现的问题,值得大家搞明白。
1. 先找到超时的subtask序号
图有点问题,因为都是成功没失败的,尴尬了。

借图:

2. 找到对应的机器和任务
方法很多,这里看自己习惯和公司提供的系统。
3. 根据日志排查问题
- netstat -nap| grep 端口号 就找到对应的pid了,
- 然后ps aux | grep pid 就找到任务目录和日志了。
比如下一种情况:
- 接着去jobmanager上查看这个checkpoint的一些延迟信息
- 根据这些失败的task的id去查询这些任务落在哪一个taskmanager上,经过排查发现,是同一台机器,通过ui看到该机器流入的数据明显比别的流入量大
- 因此是因为数据倾斜导致了这个问题,追根溯源还是下游消费能力不足的问题
反思&扩展
Flink Checkpoint 失败有很多种原因,常见的失败原因如下:
- 用户代码逻辑没有对于异常处理,让其直接在运行中抛出。比如解析 Json 异常,没有捕获,导致 Checkpoint失败,或者调用 Dubbo 超时异常等等。
- 依赖外部存储系统,在进行数据交互时,出错,异常没有处理。比如输出数据到 Kafka、Redis、HBase等,客户端抛出了超时异常,没有进行捕获,Flink 任务容错机制会再次重启。
- 内存不足,频繁GC,超出了 GC 负载的限制。比如 OOM 异常
- 网络问题、机器不可用问题等等。
Checkout 在 Flink 中非常重要,其他指标大家也需要多关注。

喵呜面试助手:一站式解决面试问题,你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享!
相关文章:
如何排查 Flink Checkpoint 失败问题?
分析&回答 这是 Flink 相关工作中最常出现的问题,值得大家搞明白。 1. 先找到超时的subtask序号 图有点问题,因为都是成功没失败的,尴尬了。 借图: 2. 找到对应的机器和任务 方法很多,这里看自己习惯和公司提供…...
lazarus(pascal)和c语言读日志文件筛选保存为新文件
lazarus(pascal)和c语言读日志文件筛选保存为新文件,源于看日志每次从一个很多内容文件里查找不方便,写个代码输入时分秒参数,然后按行读取比较日志时间,当前秒和上一秒的输出保存为新文件,只保存2秒钟文件小多了&…...
学习JAVA打卡第四十九天
Random类 尽管可以使用math类调用static方法random()返回一个0~1之间的随机数。(包括0.0但不包括0.1),即随机数的取值范围是[0.0,1.0]的左闭右开区间。 例如,下列代码得到1~100之间…...
Golang数据结构和算法
Golang数据结构和算法 数据的逻辑结构和物理结构常见数据结构及其特点算法的时间复杂度和空间复杂度Golang冒泡排序Golang选择排序Golang插入排序Golang快速排序Golang归并排序Golang二分查找Golang sort包Golang链表Golang container/list标准库Golang栈stackGolang二叉搜索树…...
python 装饰器
装饰器是 Python 中一种功能强大的语法特性,它可以用于在不修改原函数代码的情况下,动态地扩展或修改函数的行为。装饰器本质上是一个函数或类,它接受一个函数作为参数,并返回一个新的函数或类。 下面是装饰器的详细解释和示例&a…...
iOS如何获取设备型号的最新方法总结
每一种 iOS 设备型号都有对应的一个或多个硬件编码/标识符,称为 device model 或者叫 machine name 通常的做法是,先获取设备的 device model 值,再手动映射为具体的设备型号(或者直接把 device model 值传给后端,让后…...
SpringBoot之RestTemplate使用Apache的HttpClient连接池
SpringBoot自带的RestTemplate是没有使用连接池的,只是SimpleClientHttpRequestFactory实现了ClientHttpRequestFactory、AsyncClientHttpRequestFactory 2个工厂接口,因此每次调用接口都会创建连接和销毁连接,如果是高并发场景下会大大降低性…...
第49节:cesium 倾斜模型osgb转3dtiles,并加载(含源码+视频)
结果示例: 完整步骤: 1、启动并登陆cesiumlab 2、准备OSGB模型数据(含下载地址) 链接:https://pan.quark.cn/s/46ac7b0b2bed 提取码:TvWL3、倾斜模型切片 选择倾斜模型data文件夹 空间参考、零点坐标 默认 强制双面关闭、无光照 打开...
零信任安全模型详解:探讨零信任安全策略的原理、实施方法和最佳实践,确保在网络中实现最小特权原则
在当今日益复杂和危险的网络环境中,传统的网络安全模型已经不再能够满足对抗不断进化的威胁。零信任安全模型应运而生,以其强调“不信任,始终验证”的理念,成为了当今信息技术领域中的热门话题。本文将深入探讨零信任安全模型&…...
01_nodejs简介
01 【nodejs简介】 1.前言 Node 的重要性已经不言而喻,很多互联网公司都已经有大量的高性能系统运行在 Node 之上。Node 凭借其单线程、异步等举措实现了极高的性能基准。此外,目前最为流行的 Web 开发模式是前后端分离的形式,即前端开发者…...
企业架构LNMP学习笔记4
企业服务器LNMP环境搭建: 常见的软件架构: 1)C/S: client/server 2)B/S: browser/server 不管是C还是B,都是属于客户端属于前端。那么运维人员主要是负责和管理的Server端,也统称为服务器端。为了快速的…...
探索UniApp分包
目录 什么是UniApp分包? UniApp分包的原理 优势 如何使用UniApp分包 1.manifest.json文件配置 2.静态图片资源分包注意事项 3.pages.json配置 结论 探索UniApp分包:优化移动应用性能与用户体验 在移动应用开发领域,性能和用户体验是至…...
uniapp 支持图片放大
<view class"list" v-for"(item, index) in urls" :key"index"><image :src"item" click"viewImg(item, index)" disabled></image></view> js // 预览大图 viewImg(data, index) {uni.previewImag…...
Oracle数据泵备份恢复(导出导入)详细语句
数据泵备份 查询已存在备份目录 select * from dba_directories;新建备份目录 create directory dbbak as /u01/dbbak;注意:在本地新建对应的物理目录 给指定用户赋权 grant read, write on directory dbbak to testuser; 或者直接把目录的权限设置为公开 g…...
【JS案例】JS实现积分抽奖(内附源码)
JS案例实现积分抽奖 🌟效果展示 🌟HTML结构 🌟CSS样式 🌟实现思路 🌟具体实现 1.定义抽奖次数渲染 2.点击抽奖按钮,实现滚动抽奖效果 3.弹窗处理 🌟完整代码 🌟写在最后 dz…...
angular抛出 ExpressionChangedAfterItHasBeenCheckedError错误分析
当变更检测完成后又更改了表达式值时,Angular 就会抛出 ExpressionChangedAfterItHasBeenCheckedError 错误。Angular 只会在开发模式下抛出此错误。 在开发模式下,Angular 在每次变更检测运行后都会执行一次附加检查,以确保绑定没有更改。这…...
动态链接库的__declspec(dllexport)关键字的概念
在 Windows 操作系统下,创建一个动态链接库(DLL)项目时,您需要通过 __declspec(dllexport) 关键字来显式地标记希望在 DLL 中 公开 的函数、类、变量等符号。这是因为在默认情况下,编译器会将函数和符号视为 私有&…...
群晖NAS:DS Video、Jellyfin等视频电影电视剧海报、背景墙搜刮器
群晖NAS:DS Video、Jellyfin等视频电影电视剧海报、背景墙搜刮器 本文只使用豆瓣插件方式,系统默认的 The Movie Database 好注册,但是授权码输入后域名不通过,很麻烦。 1、插件地址: https://www.aliyundrive.com/s…...
WEBGL(3):鼠标动态绘制点
1 实现思路 绘制单个点鼠标事件监听点击事件将点推送到数组中绘制数组中所有点 2 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge&…...
Sass基础
Sass基础 简介 Sass是一种stylesheet语言,可以被编译成CSS。Sass允许你使用诸如variabels,nested rules,mixins,functions等等语法,这些都将在本篇的接下来进行讲解。 因为之前一直学的后端,前端只是因为…...
别再死记硬背了!图解ASCII码表,轻松掌握C语言字符处理的底层逻辑
从ASCII到C语言:用图形化思维解锁字符处理的本质 在初学C语言时,很多人都会对char类型和int类型之间的暧昧关系感到困惑。为什么一个字符可以像整数一样进行加减运算?为什么大小写字母转换只需要简单地加减32?这些看似神奇的操作背…...
NV040D语音芯片在儿童坐姿纠正器中的低成本高效应用
1. 项目概述:从痛点出发的智能硬件设计作为一名在消费电子和智能硬件领域摸爬滚打了十几年的工程师,我见过太多“为设计而设计”的产品,它们功能花哨,却往往忽略了最核心的用户需求。今天想和大家深入聊聊的,是一个看似…...
别再死记硬背POC了!深入理解Struts2漏洞家族史与OGNL表达式攻防演进
从OGNL表达式到漏洞家族史:Struts2安全攻防演进全景剖析 在Java Web安全领域,Struts2框架的漏洞史堪称一部活教材。许多安全工程师能够熟练使用工具复现S2-045、S2-057等著名漏洞,却对漏洞背后的技术原理和演进逻辑一知半解。这种知其然而不知…...
AI生成论文的查重率区间是多少?目前控制AIGC疑似率最好用的软件有哪些?
毕业、投稿阶段难题频发,常规 AI 撰写论文,查重率普遍处在 35%-60% 区间,AIGC 疑似率更是达到 50%-70%,知网、维普检测极易不合格,进而引发答辩延后、错失评优资格等问题。下文实测四款热门工具,帮大家找准…...
图片批量识别提取信息
图片批量识别提取信息工具,是用aardio写的,调用微信OCR识别图片中的信息,识别正确率非常高,用于提取各类证件和文档,对于在基层村、社区工作的人员是很有帮助的。 喜欢的朋友可以下载试用。分享了「图批量识别提取信息…...
Unity古代山地环境包:地质逻辑驱动的叙事型地形生成
1. 这不是“贴图堆砌”,而是一套可演化的古代山地世界生成逻辑你有没有试过在Unity里拖进一个“山地环境包”,结果发现——岩石全是平铺的、悬崖边缘像刀切一样整齐、河流只是贴了张带Alpha的平面图、遗迹摆得像博物馆展柜,连风都吹不进这个场…...
VLC隐藏玩法:结合Lua脚本实现智能视频播放(比如根据时间切换片单)
VLC隐藏玩法:结合Lua脚本实现智能视频播放 你是否厌倦了手动切换播放列表?VLC作为一款开源多媒体播放器,其真正的潜力远不止于基础播放功能。通过Lua脚本接口,我们可以解锁VLC的自动化能力,实现根据时间、文件存在与否…...
MSP430在便携式医疗设备中的超低功耗设计与血氧心率监测实现
1. 项目概述:为什么是MSP430?在便携式医疗设备这个赛道上,选型往往是决定项目成败的第一步。当你面对血糖仪、血氧仪这类需要用户随身携带、频繁使用、且对测量精度和电池寿命有严苛要求的产品时,一颗合适的微控制器(M…...
2026武汉美术艺考培训机构排名出炉,家长择校必看!
在美育教育持续受重视的背景下,美术高考成为众多学子升学的重要渠道。武汉作为华中美育核心城市,美术培训机构已超 300 家,市场竞争激烈。据湖北省教育考试院 2026 年湖北美术联考数据,全省美术考生超 1.8 万人,武汉占…...
腾讯 Marvis 马维斯完整使用教程 2026 最新版
从下载安装到文件整理 电脑控制 跨端协同 隐私模式和向量引擎扩展 一篇讲清楚一 先说结论 Marvis不是普通聊天工具 如果你最近关注 AI 助手,大概率已经刷到过腾讯 Marvis,也就是中文名马维斯。 它在 2026 年 5 月正式开放下载后,最大的看点…...
