Flink正常消费一段时间后,大量反压,看着像卡住了,但又没有报错。

news/2024/11/24 6:59:38/

文章目录

  • 前言
  • 一、原因分析
  • 二、解决方案


前言

前面我也有提到,发现flink运行一段时间后,不再继续消费的问题。这个问题困扰了我非常久,一开始也很迷茫。又因为比较忙,所以一直没有时间能够去寻找答案,只是通过每天重启的方式去解决。经过分析,其实这个问题也很容易找到根源,有兴趣就和我一起看下叭


一、原因分析

首先介绍一下这个程序大概流程,比较简单。
在这里插入图片描述

一个输入源,经过一个算子,最后开了三个窗口。并行度都写在括号里了。
下面这是一张taskmanager的cpu使用率,可以看出,到最后要停掉前也没有出现cpu高飘的情况,并且心跳依然存在,程序还是在继续运行的。
在这里插入图片描述
我们从flink运行图上面可以看到,反压很严重
在这里插入图片描述
矛盾就出现了,明明压力很大,为何cpu使用率却几乎为0
于是我点开压力最大的哪个window,查看subtask的情况,找到对应busy为100的subtask
在这里插入图片描述
可以看到,这个subtask所处理的数据太多了。一开始我也网上很多网友一样认为是key分配失衡的问题,但是我修改完代码,发现反而失衡更严重了,所以我认为不是失衡的问题。而是其中的某个key确实太多了,且数据上显示,也确实是有一个key量非常大。所以不管用什么方式,这个key必然经过hash之后还是一样的,也会走到同一个subtask中去。这个无法避免。

二、解决方案

因此我想到的是,采用丢失精度的做法。原本我是开了一天的窗口,滑动间隔时一小时。
那么既然处理不来,方案就是
如果这个key不需要的话,通过白名单过滤
加大滑动间隔的做法
使用滚动窗口代替滑动窗口的做法,这种案例在网上可以找到很多,只是说选择一种合适的办法去处理,找到办法之后,代码那都是简单的事了。


http://www.ppmy.cn/news/1005996.html

相关文章

Consul屏蔽api

consul 没有设置密码 需要屏蔽api:/v1/internal/ui/nodes?dc&token 防止信息泄露 配置config.json {"http_config": {"block_endpoints": ["/v1/internal/ui/nodes"]} }启动consul时使用该配置: consul agent -de…

Go语言在人工智能时代的崭露头角:为何越来越多公司选择使用Go语言?

🌷🍁 博主猫头虎 带您 Go to Golang Language.✨✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1…

Unity Image(RawImage) 实现按轴心放大缩小,序列化存储轴心信息,实现编译器窗口保存轴心

工作时分配给我的要实现的功能,写的时候遇到挺多的坑的,在此记录一下 效果 放大缩小的效果 2.编译器扩展窗口记录 实现点 1.Json序列化存储图片轴心位置, 放大倍率,放大所需要的事件 2.用了编译器扩展工具便于保存轴心信息坑点 1.Imag…

实现多线程的三种方式

1. 继承Thread 类实现多线程 想要实现多线程,第一种方法就是通过继承Thread类实现多线程,有以下几步 (1)我们要先自定义一个类然后继承Thread类; (2)在继承Trread的类中重写 run 方法&#x…

07 Ubuntu中使用poetry工具管理python环境——巨详细!!!

由于conda和ros2的环境实在太容易冲突了。我真的不敢再使用conda,着实是有些搞不明白这解释器之间的关系。 conda的卸载和ros2的安装暂不赘述,下面着重来说如何在Ubuntu中使用poetry进行包管理及遇到的问题。 1 安装poetry 由于在有写入权限的限制&am…

【ASP.NET MVC】使用动软(一)(9)

一、解决的问题 前文为解决数据库操作设计的 TestMysql 类,仅简单地封装了一个Query函数,代码如下: public class TestMysql{public static string SqlserverConnectStr "server127.0.0.1;charsetutf8;user idroot;persistsecurityin…

全球数据泄露事件增加近三倍

网络安全公司 Surfshark 的最新研究显示,2023 年第二季度共有 1.108 亿个账户遭到泄露,其中美国排名第一,几乎占 4 月至 6 月所有泄露事件的一半。 俄罗斯排名第二,西班牙排名第三,其次是法国和土耳其。 与 2023 年…

用于大型图像模型的 CNN 内核的最新内容

一、说明 由于OpenAI的ChatGPT的巨大成功引发了大语言模型的繁荣,许多人预见到大图像模型的下一个突破。在这个领域,可以提示视觉模型分析甚至生成图像和视频,其方式类似于我们目前提示 ChatGPT 的方式。 用于大型图像模型的最新深度学习方法…