Flink Dashboard的数据监控功能
一、数据反压
1.1 数据反压是啥
数据反压是在实时数据处理中,数据处理流的某个节点上游产生数据的速度大于该节点处理数据速度,导致数据堆积,从该节点向上游传递,一直到数据源,并降低数据源的摄入速度。导致数据反压出现的常见场景,比如, GC导致短时间数据积压,数据的波动带来的一段时间内需处理的数据量大增,甚至是checkpoint本身都可能造成反压。在窗口内做大量的外连情况,如redis/es等,redis连接过多会慢或直接报错。
若流程为A->B->C->D->E->F ,ABCD出现反压(即这里status为high),则表示E处理流程导致 D->C->B->A 相继变慢。
查看背压:当DAG的某个过程的背压状态为 low 或者 high 时,则说明下游的处理速度不及上游的输出速度。也就是说 下游的处理是整个任务的瓶颈所在,需要进行优化处理
1.2 Dashboard体现
点击Overview的Running Job List中的某个Job Name,再点击该job的某个算子,点击Backpressure查看,状态为HIGH时,则存在数据反压问题
二、数据倾斜
1.1 数据倾斜是啥
对于一个分部式的集群来说,理想的情况是每个节点负责处理一定量数据。如果数据分散度不够,导致大量的数据集中到了一台或者几台服务节点上,就是出现了数据倾斜。
1.2 Dashboard体现
点击Overview的Running Job List中的某个Job Name,接着点击某个算子,再点击SubTasks看每个节点处理数据量,如果处理不均匀则存在数据倾斜,会导致部分窗口数据处理缓慢。
由于并行度设为了1,所以图里只有一个node。
优化方式:
- 数据标记分流
- 窗口优化
- 在不影响逻辑的前提下,keyby对数据分流时选择较为均匀的数据。
三、消费滞后
1.1 消费滞后是啥
没有出现数据反压或数据倾斜,但是Flink的Watermark追不上实时时间,不能实时处理。
1.2 需单进程确认点
- flink读取的数据是否产生的及时。
- 窗口Aggregate处理是否存在死循环或较慢的点
(如:正则/redis/http等) - flink计算结果的输出处理慢。
(如:使用.disablechain.addsink()后再在dashboard中查看窗口和输出分别处理的速率)
可优化点:将窗口的处理逻辑优化的简单一些,将较长时间的处理放在数据处理部分或windowFunction部分。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfeiibi
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13