Flink正常消费一段时间后,大量反压,看着像卡住了,但又没有报错。
文章目录
- 前言
- 一、原因分析
- 二、解决方案
前言
前面我也有提到,发现flink运行一段时间后,不再继续消费的问题。这个问题困扰了我非常久,一开始也很迷茫。又因为比较忙,所以一直没有时间能够去寻找答案,只是通过每天重启的方式去解决。经过分析,其实这个问题也很容易找到根源,有兴趣就和我一起看下叭
一、原因分析
首先介绍一下这个程序大概流程,比较简单。

一个输入源,经过一个算子,最后开了三个窗口。并行度都写在括号里了。
下面这是一张taskmanager的cpu使用率,可以看出,到最后要停掉前也没有出现cpu高飘的情况,并且心跳依然存在,程序还是在继续运行的。

我们从flink运行图上面可以看到,反压很严重

矛盾就出现了,明明压力很大,为何cpu使用率却几乎为0
于是我点开压力最大的哪个window,查看subtask的情况,找到对应busy为100的subtask

可以看到,这个subtask所处理的数据太多了。一开始我也网上很多网友一样认为是key分配失衡的问题,但是我修改完代码,发现反而失衡更严重了,所以我认为不是失衡的问题。而是其中的某个key确实太多了,且数据上显示,也确实是有一个key量非常大。所以不管用什么方式,这个key必然经过hash之后还是一样的,也会走到同一个subtask中去。这个无法避免。
二、解决方案
因此我想到的是,采用丢失精度的做法。原本我是开了一天的窗口,滑动间隔时一小时。
那么既然处理不来,方案就是
如果这个key不需要的话,通过白名单过滤
加大滑动间隔的做法
使用滚动窗口代替滑动窗口的做法,这种案例在网上可以找到很多,只是说选择一种合适的办法去处理,找到办法之后,代码那都是简单的事了。
相关文章:
Flink正常消费一段时间后,大量反压,看着像卡住了,但又没有报错。
文章目录 前言一、原因分析二、解决方案 前言 前面我也有提到,发现flink运行一段时间后,不再继续消费的问题。这个问题困扰了我非常久,一开始也很迷茫。又因为比较忙,所以一直没有时间能够去寻找答案,只是通过每天重启…...
软件测试需求分析的常用方法
软件测试需求分析时,应要求产品人员对需求进行讲解,并使用相对应的方法进行科学分析,否则无法保障软件测试的完整性和科学性,从而造成在项目中后期Bug频出、风险增大等问题。 而常用的测试需求分析的方法: 1、功能分解…...
数据结构10 -查找_树表查找
创建二叉搜索树 二叉搜索树 二叉搜索树是有数值的了,二叉搜索树是一个有序树。 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它…...
第126天:内网安全-隧道技术SSHDNSICMPSMB上线通讯LinuxMac
知识点 #知识点: 1、入站规则不出网上线方案 2、出站规则不出网上线方案 3、隧道技术-SMB&ICMP&DNS&SSH 4、控制上线-Linux&Mac&IOS&Android-连接方向:正向&反向(基础课程有讲过) -内网穿透…...
开发一个饲料商城小程序需要多少钱
随着宠物行业的蓬勃发展,饲料商城小程序作为一个重要的销售渠道,吸引了越来越多的投资者。那么,开发一套饲料商城小程序需要多少钱呢?本文将为您详细解答。 首先,开发一套饲料商城小程序的价格受到多个因素的影响&…...
Emacs之set-face-attribute与font-lock-add-keywords用法区别(一百二十八)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...
JavaScript高阶函数和闭包
在JavaScript编程中,高阶函数和闭包是两个重要而又常见的概念。它们是函数式编程的重要组成部分,可以让我们的代码更加灵活、简洁和高效。本文将详细解释高阶函数和闭包的概念、用法以及它们在JavaScript中的重要性。 高阶函数 1. 什么是高阶函数&…...
私有化部署企业IM即时通讯:提升效率、防止泄密、高效协同办公
随着科技的飞速发展和智能手机的普及,即时通讯(IM)应用在我们的生活和工作中变得越来越重要。在企业中,IM已成为员工之间交流沟通的主要方式之一。然而,对于大多数企业来说,选择私有化部署企业IM即时通讯软…...
react ant icon的简单使用
refer: 快速上手 - Ant Design 1.引入ant npm install antd --save 2.在页面引用: import { StarOutlined } from ant-design/icons; 如果想要引入多个icon,可以这样书写: import { UserOutlined, MailOutlined, PieChartOutlined } fr…...
用Rust实现23种设计模式之原型模式
在 Rust 中,原型模式可以通过实现 Clone trait 来实现。原型模式是一种创建型设计模式,它允许通过复制现有对象来创建新对象,而无需显式地使用构造函数。下面是一个使用 Rust 实现原型模式的示例,带有详细的代码注释和说明&#x…...
visual studio 2022 编译时出现MSB3721问题
cuda1C:\code\SSR\Impl\Dev\gE\cO\G.Common.XrayRegistration_nc>“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\bin\nvcc.exe” -gencodearchcompute_86,code“sm_86,compute_86” --use-local-env -ccbin “C:\Program Files\Microsoft Visual Studio\2022…...
Android 获取网络连接状态新方法
一. 问题背景 Android12上,有的app模块判断当前网络的类型和连接状态时,还是使用的旧的API,导致返回的结果不准确,影响代码逻辑判断,本篇文章就这一问题,整理一下判断网络类型和连接状态的新方法。 二. 原因…...
可缝合神经网络
文章目录 Stitchable Neural Networks摘要本文方法实验结果 Stitchable Neural Networks 摘要 包含大量强大的预训练模型族(如ResNet/DeiT)的model zoo已经达到了前所未有的范围,这对深度学习的成功有重要贡献。由于每个模型族都由具有不同尺度的预训练模型(例如&…...
Android优化篇|网络预连接
作者:苍耳叔叔 一个示例 前后分别去请求同一个域名下的接口,通过 Charles 抓包,可以看到 Timing 下面的时间: 第二次请求时,DNS、Connect 和 TLS Handshake 部分都是 -,说明没有这部分的耗时,…...
pyspark使用XGboost训练模型实例
遇到一个还不错的使用Xgboost训练模型的githubhttps://github.com/MachineLP/Spark-/tree/master/pyspark-xgboost 1、这是一个跑通的代码实例,使用的是泰坦尼克生还数据,分类模型。 这里使用了Pipeline来封装特征处理和模型训练步骤,保存为…...
完整模型的训练套路
从心所欲 不逾矩 天大地大 皆可去 一、官方模型的初使用 使用VGG16模型 VGG模型使用代码示例: import torchvision.models from torch import nndataset torchvision.datasets.CIFAR10(/cifar10, False, transformtorchvision.transforms.ToTensor())vgg16_true …...
PtahDAO:全球首个DAO治理资产信托计划的金融平台
金融科技是当今世界最具创新力和影响力的领域之一,区块链技术作为金融科技的核心驱动力,正在颠覆传统的金融模式,为全球用户提供更加普惠、便捷、安全的金融服务。在这个变革的浪潮中,PtahDAO(普塔道)作为全…...
从零搭建一个react + electron项目
最近打算搭建一个react electron的项目,发现并不是那么傻瓜式 于是记录一下自己的实践步骤 通过create-react-app 创建react项目 npx create-react-app my-app 安装electron依赖 npm i electron -D暴露react项目的配置文件(这一步看自己需求,…...
MATLAB /Simulink 快速开发STM32(使用st官方工具 STM32-MAT/TARGET),以及开发过程
配置好环境以后就是开发: stm32cube配置芯片,打开matlab添加ioc文件,写处理逻辑,生成代码,下载到板子中去。 配置需要注意事项: STM32CUBEMAX6.5.0 MABLAB2022BkeilV5.2 Matlab生成的代码CTRLB 其中关键的…...
LeetCode 热题 100 JavaScript--102. 二叉树的层序遍历
给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 输入:root [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]] 示例 2: 输入:root [1…...
Android自动化新选择:DroidRun结合LLM实现自然语言控制手机(附详细配置指南)
Android自动化新选择:DroidRun结合LLM实现自然语言控制手机(附详细配置指南) 在移动应用开发与测试领域,自动化工具一直扮演着关键角色。传统方案往往需要编写复杂脚本或录制操作序列,学习曲线陡峭且维护成本高。Droi…...
为什么92%的.NET开发者在.NET 9中AI推理失败?5个被官方文档隐藏的关键配置陷阱
第一章:.NET 9 AI推理能力演进与核心定位.NET 9 将原生 AI 推理能力深度融入运行时与 SDK 生态,标志着 .NET 从“通用开发平台”向“AI-ready 应用平台”的战略跃迁。这一演进并非简单封装第三方模型 API,而是通过轻量级推理引擎集成、统一张…...
十大排序算法详解:从原理到实战,苹果群控系统游戏运营如何实现自动执行任务。
排序算法概述 排序算法是将一组数据按照特定顺序(如升序或降序)重新排列的算法。根据时间复杂度、空间复杂度、稳定性等特性,排序算法可分为比较排序和非比较排序两大类。常见算法包括冒泡排序、快速排序、归并排序、堆排序、计数排序等。比较…...
模数OPC社区在北京亦庄正式启航
打造AI创业“超级孵化器”,首批迎来20个创业团队入驻4月8日,在北京经济技术开发区(简称“北京经开区”,又称“北京亦庄”)举办的AI FUTURE北京亦庄AI未来大会上,一个全新的AI创业孵化空间——模数OPC&#…...
被“乖乖”洗脑了?《家事法庭》那个“中年油腻男”,竟是剧抛脸老熟人!
近日,聚焦家事审判的法院题材电视剧《家事法庭》正式登陆央视一套黄金档及多家网络平台。自3月25日开播以来,该剧凭借对民生百态的深刻刻画以及一众实力派演员的精湛演绎,迅速引爆收视与口碑热潮。剧中,演员郭家诺饰演的何秀光一角…...
收藏必备!小白入门:详解开源网络入侵检测系统(Suricata、Snort、Zeek_Bro、Security Onion)
收藏必备!小白程序员入门:详解开源网络入侵检测系统(Suricata、Snort、Zeek/Bro、Security Onion) 本文介绍了网络入侵检测系统(NIDS)和主机入侵检测系统(HIDS)的概念,重…...
MVT协议深度解析:从Protobuf编码到GISBox实战,看它如何碾压传统栅格瓦片
MVT协议技术内幕:从二进制编码到百万级数据渲染实战 当我们打开手机地图App,双指放大查看小区楼栋轮廓时,很少有人会思考这流畅体验背后的技术革命。传统栅格瓦片就像打印在纸上的地图,放大后必然出现马赛克;而MVT协议…...
Ostrakon-VL集成VSCode Codex:智能代码辅助下的视觉应用开发
Ostrakon-VL集成VSCode Codex:智能代码辅助下的视觉应用开发 1. 开篇:当视觉AI遇上智能编程助手 想象一下这样的开发场景:你正在构建一个基于Ostrakon-VL的视觉分析应用,需要处理摄像头采集的图像数据。传统方式下,你…...
SmallThinker-3B-Preview代码生成效果展示:Java八股文智能问答实例
SmallThinker-3B-Preview代码生成效果展示:Java八股文智能问答实例 最近在技术社区里,一个名为SmallThinker-3B-Preview的模型引起了我的注意。它主打代码生成和智能问答,特别是针对编程面试中那些经典的“八股文”问题。作为经常参与面试和…...
**为生命按下“刷新键”:当细胞科技成为健康管理的新日常**
清晨六点半,张教授在太湖边完成了他的五公里慢跑。这位年近六十的物理学博导,面色红润,步伐稳健,让许多年轻同事都自叹不如。朋友们常打趣问他保养秘诀,他总是笑笑说:“不过是尊重科学,提前管理…...
