Flink调优
文章平均质量分 93
Johnson8702
这个作者很懒,什么都没留下…
展开
-
Flink优化04---数据倾斜
一、数据倾斜定位通过 Web UI 各个 SubTask 的 Records Sent 和 Records Received 来确认,另外,还可以通过 Checkpoint detail 里不同的 SubTask 的 State Size 来判断是否数据倾斜。例如上图,节点 2 的数据量明显高于其他节点的数据量,数据发生了很严重的倾斜问题。二、数据倾斜的解决办法2.1 keyBy 前的数据倾斜这种情况,需要视数据来源而定。比如从 kafka 读取数据,根据可能存在的不同场景,采取不同原创 2022-04-08 11:35:48 · 2892 阅读 · 1 评论 -
Flink优化03---反压处理
一、概述1.1 反压的理解简单来说,数据在 flink 拓扑中多个节点自上而下流动,下游处理数据较慢,导致上游数据发送阻塞,最终导致数据源的获取也被阻塞。也就是说,下游处理数据的速度跟不上数据流入的速度,会导致数据流入阻塞,并反馈到上游,使上游数据的发送也产生阻塞。通常情况下,大促销、秒杀活动导致流量激增,会导致反压的产生。1.2 反压的危害反压的出现,会影响到 checkpoint 时长和 state 大小,进而可能导致资源耗尽甚至系统奔溃。1)影响 checkpoint 时长原创 2022-04-07 20:23:12 · 7010 阅读 · 0 评论 -
Flink优化02--状态及Checkpoint调优
一、状态简述Flink的状态分为三种:MemoryStateBackend:默认的方式,即基于JVM的堆内存进行存储,主要适用于本地开发和调试;FsStateBackend:基于文件系统进行存储,可以是本地文件系统,也可以是HDFS等分布式文件凶系统。需要注意,虽然选择使用 FsStateBackend,但是正在进行的数据仍然存储在 TaskManager的内存中,只有在 checkpoint 时,才会将状态快照写入到指定文件系统上;RocksDBStateBackend:Flink内置的第三方状原创 2022-04-07 14:24:20 · 3980 阅读 · 0 评论 -
Flink优化01---资源配置调优
1、Flink内存模型(TaskManager)从上面的内存模型图可以看出内存结构:1) Flink使用了JVM Heap(堆内内存)和Off-Heap Memory(堆外内存);2)JVM Heap(堆内内存)包含Framework Heap(框架内存)和Task Heap(Task堆内内存);3)Off-Heap Memory(堆外内存)包含Managed Memory(管理内存)、Direct Memory(直接内存)和JVM特有内存(JVM Metaspace + JVM Ove原创 2022-02-28 16:36:34 · 2748 阅读 · 0 评论