
Flink
文章平均质量分 79
wgcn我的金斧头呢
这个作者很懒,什么都没留下…
展开
-
Flink源码学习笔记(2) 基于Yarn的自动伸缩容实现
1.背景介绍 随着实时计算技术在之家内部的逐步推广,Flink 任务数及计算量都在持续增长,集群规模的也在逐步增大,本着降本提效的理念,我们研发了 Flink 任务伸缩容功能: 提供自动伸缩容功能,可自动调节 Flink 任务占用的资源,让计算资源分配趋于合理化。一方面避免用户为任务配置过多资源,造成资源浪费;另一方面,降低用户在调节资源方面的运维成本。 提供手动伸缩容功能,降低调节资源过程对业务的影响。伸缩容操作本质是先申请资源,待资源准备就绪后,才执行 Recover 操作,和重启..原创 2022-04-08 14:44:41 · 2226 阅读 · 1 评论 -
Flink源码学习笔记(1) Flink心跳机制的实现
前言 开始分享第一篇flink源码的学习,诊断相关的文章仍会继续更新。先讲第一篇Flink实现的心跳机制。Flink代码版本是1.9.2 类图依赖关系 先上个心跳实现的类图 其中主要的几个接口和实现类 HeartbeatTarget : 请求回复心跳的接口,定义了requestHeartbeat (请求心跳),receiveHeartbeart(回复心跳)。 HeartbeatManager : 维护请求回复心跳的接口,继承自 HeartbeatTarget,定义了 monitorTarget,u.原创 2022-04-08 13:26:46 · 539 阅读 · 0 评论 -
JVM诊断及工具笔记(1)使用arthas热更新代码
1原创 2022-07-24 14:12:19 · 603 阅读 · 0 评论 -
JVM诊断及工具笔记(2)使用arthas定位哪里执行了System#gc()
这篇文章是之前解决一个Flink任务在线上发生fullgc当时的想法就是fullgc发生在堆内存通过堆内存监控和dump堆内存这两种方式都发现堆占用不大,排除metaspacegc日志里并没有堆metaspace日志且metaspace占用很小,排除因此主要把排除重点放在直接内存。接下来老规矩,我们长话短说会夹带一点点心路历程。栈里DirectByteBuffer这个类就是直接内存资源的持有者。DirectByteBuffer在构造时便被Cleaner监听回收资源。https。...原创 2022-07-24 14:14:01 · 1105 阅读 · 0 评论 -
JVM诊断及工具笔记(4) 使用visualvm分析JVM堆内存泄漏
cache中具体缓存使用的key如图scheme,authority,ugi,unique其中unique可以忽略,在visualvm上看都是相同的,scheme及authority记录着几个namenode的地址,值也并不多,唯一异常的就是存在超大量的ugi对象,此时内存泄漏的真凶差不多找到了。ugi按用户缓存起来之后,cache里面的DFSClient对象数量就符合预期了。通过监控,我们发现用户的Flink写Iceberg任务的堆内存呈增长趋势,没多久就报堆内存oom了。...原创 2022-07-24 14:16:14 · 1976 阅读 · 0 评论 -
JVM诊断及工具笔记(3) 使用pmap 定位一次Jvm Native Memory泄漏
native内存泄漏原创 2022-07-24 14:14:57 · 1349 阅读 · 0 评论 -
JVM诊断及工具笔记(5) cpu使用率方面的自助诊断
这篇文章描述了因为进程/单线程cpu瓶颈,导致Flink任务延迟的案例,并且分享了从最开始平台工作人员手动去服务器帮用户诊断,再到如何赋能给用户自助诊断的过程。原创 2022-07-24 14:17:05 · 650 阅读 · 0 评论 -
Flink源码学习笔记(5) SlotSharing实现
这篇文章主要是想介绍在deploy到Taskmanager前,Slotsharing机制是如何将不同Task的Subtask复用同一个Slot,更加充分地利用Flink集群资源。学习的Flink代码版本是1.9.2。 相关概念 SlotSharingGroup: 将不同的的Task放在相同的Slot的分组,默认是default,只有一个分组,也就是Flink会尽量将不同Task的Subtask放在到一个Slot里面。 CoLocationGroup: 不同Task的相同Subtask放在相同Slo.原创 2022-04-29 11:18:45 · 419 阅读 · 0 评论 -
Flink源码学习笔记(3)了解Flink HA功能的实现
使用Flink HA功能维护JobManager中组件的生命周期,可以有效的避免因为JobManager 进程失败导致任务无法恢复的情况。 接下来分享下 Flink HA功能的实现 大纲 基于Zookeeper+Hadoop HA功能的实现 HA功能的接口概述 基于Zookeeper实现的HA接口 手工课: 添加个新的组件并使用HA功能维护生命周期 1.基于Zookeeper+Hadoop HA功能的实现 Zookeeper: Zookeeper的结构: /leaderlatch : leade.原创 2022-04-25 15:30:44 · 1783 阅读 · 0 评论