- 博客(15)
- 收藏
- 关注
原创 Milvus QueryCoordV2学习笔记
年前看了些Milvus QueryCoordV2的代码整理了一些笔记(算是半成品),省去了很多细节。一直为做最终的整理, 直到准备去社区做分享才开始临时抱佛脚翻笔记, 之前看的东西也快忘了。本着输出倒逼输入的原则,还是把他发出来提供给大家指正。最少也是给大家提供个索引以下是内容目录从一个Load Collection 大概的流程串起来分别看下这几个组件的实现元数据CheckerObserver。
2023-04-07 17:17:18
602
2
原创 基于Milvus的向量检索平台实践
随着计算机技术及机器学习技术的发展,特征向量作为一种多媒体数据(文本、语音、图片、视频)的描述方式,逐渐成熟起来,而向量检索(向量相似计算)也逐渐成为一种通用的需求。
2022-12-27 15:12:17
679
原创 JVM诊断及工具笔记(5) cpu使用率方面的自助诊断
这篇文章描述了因为进程/单线程cpu瓶颈,导致Flink任务延迟的案例,并且分享了从最开始平台工作人员手动去服务器帮用户诊断,再到如何赋能给用户自助诊断的过程。
2022-07-24 14:17:05
645
原创 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
1965
原创 JVM诊断及工具笔记(2)使用arthas定位哪里执行了System#gc()
这篇文章是之前解决一个Flink任务在线上发生fullgc当时的想法就是fullgc发生在堆内存通过堆内存监控和dump堆内存这两种方式都发现堆占用不大,排除metaspacegc日志里并没有堆metaspace日志且metaspace占用很小,排除因此主要把排除重点放在直接内存。接下来老规矩,我们长话短说会夹带一点点心路历程。栈里DirectByteBuffer这个类就是直接内存资源的持有者。DirectByteBuffer在构造时便被Cleaner监听回收资源。https。...
2022-07-24 14:14:01
1099
原创 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
411
原创 Iceberg学习日记(1) 定位两个线上Iceberg查不到文件的问题
前言Iceberg是我们去年年底(2020)开始调研,目前上线了130多张表。主要用于流量日志清洗,数据报表,推荐特征基础数据。至今为也算是积累了一些使用及定位问题经验。 这篇文章会介绍两个线上Iceberg表查不到数据/快照文件的问题,希望对大家有帮助。一.Rewrite操作有可能会误删数据文件现象: 如图: 线上一张Iceberg表的合并任务运行一段时间后开始报错找不到数据文件。当时找到运维查看删文件的用户和机器,定位出来是合并文件程序所在的机器。最后在合并任务日志中发现了这个异.
2022-04-25 15:44:13
3335
原创 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
1778
原创 Flink源码学习笔记(2) 基于Yarn的自动伸缩容实现
1.背景介绍随着实时计算技术在之家内部的逐步推广,Flink 任务数及计算量都在持续增长,集群规模的也在逐步增大,本着降本提效的理念,我们研发了 Flink 任务伸缩容功能: 提供自动伸缩容功能,可自动调节 Flink 任务占用的资源,让计算资源分配趋于合理化。一方面避免用户为任务配置过多资源,造成资源浪费;另一方面,降低用户在调节资源方面的运维成本。 提供手动伸缩容功能,降低调节资源过程对业务的影响。伸缩容操作本质是先申请资源,待资源准备就绪后,才执行 Recover 操作,和重启..
2022-04-08 14:44:41
2214
1
原创 Flink源码学习笔记(1) Flink心跳机制的实现
前言开始分享第一篇flink源码的学习,诊断相关的文章仍会继续更新。先讲第一篇Flink实现的心跳机制。Flink代码版本是1.9.2类图依赖关系先上个心跳实现的类图其中主要的几个接口和实现类HeartbeatTarget : 请求回复心跳的接口,定义了requestHeartbeat (请求心跳),receiveHeartbeart(回复心跳)。HeartbeatManager : 维护请求回复心跳的接口,继承自 HeartbeatTarget,定义了 monitorTarget,u.
2022-04-08 13:26:46
535
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人