自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 Milvus QueryCoordV2学习笔记

年前看了些Milvus QueryCoordV2的代码整理了一些笔记(算是半成品),省去了很多细节。一直为做最终的整理, 直到准备去社区做分享才开始临时抱佛脚翻笔记, 之前看的东西也快忘了。本着输出倒逼输入的原则,还是把他发出来提供给大家指正。最少也是给大家提供个索引以下是内容目录从一个Load Collection 大概的流程串起来分别看下这几个组件的实现元数据CheckerObserver。

2023-04-07 17:17:18 443 1

原创 leanote搭建个人笔记+博客

​​

2022-12-27 15:21:43 428

原创 JDK学习笔记-线程池的实现

好长时间木有写java,怕忘光了😄,今天抽空翻翻源码做些总结。总的来说实现逻辑还是比较简单清晰的。

2022-12-27 15:15:18 143

原创 基于Milvus的向量检索平台实践

随着计算机技术及机器学习技术的发展,特征向量作为一种多媒体数据(文本、语音、图片、视频)的描述方式,逐渐成熟起来,而向量检索(向量相似计算)也逐渐成为一种通用的需求。

2022-12-27 15:12:17 591

原创 JVM诊断及工具笔记(5) cpu使用率方面的自助诊断

这篇文章描述了因为进程/单线程cpu瓶颈,导致Flink任务延迟的案例,并且分享了从最开始平台工作人员手动去服务器帮用户诊断,再到如何赋能给用户自助诊断的过程。

2022-07-24 14:17:05 596

原创 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 1857

原创 JVM诊断及工具笔记(3) 使用pmap 定位一次Jvm Native Memory泄漏

native内存泄漏

2022-07-24 14:14:57 1251

原创 JVM诊断及工具笔记(2)使用arthas定位哪里执行了System#gc()

这篇文章是之前解决一个Flink任务在线上发生fullgc当时的想法就是fullgc发生在堆内存通过堆内存监控和dump堆内存这两种方式都发现堆占用不大,排除metaspacegc日志里并没有堆metaspace日志且metaspace占用很小,排除因此主要把排除重点放在直接内存。接下来老规矩,我们长话短说会夹带一点点心路历程。栈里DirectByteBuffer这个类就是直接内存资源的持有者。DirectByteBuffer在构造时便被Cleaner监听回收资源。https。...

2022-07-24 14:14:01 1006

原创 JVM诊断及工具笔记(1)使用arthas热更新代码

1

2022-07-24 14:12:19 535

原创 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 334

原创 Iceberg学习日记(1) 定位两个线上Iceberg查不到文件的问题

前言Iceberg是我们去年年底(2020)开始调研,目前上线了130多张表。主要用于流量日志清洗,数据报表,推荐特征基础数据。至今为也算是积累了一些使用及定位问题经验。 这篇文章会介绍两个线上Iceberg表查不到数据/快照文件的问题,希望对大家有帮助。一.Rewrite操作有可能会误删数据文件现象:​ 如图: 线上一张Iceberg表的合并任务运行一段时间后开始报错找不到数据文件。当时找到运维查看删文件的用户和机器,定位出来是合并文件程序所在的机器。最后在合并任务日志中发现了这个异.

2022-04-25 15:44:13 3175

原创 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 1717

原创 Flink源码学习笔记(2) 基于Yarn的自动伸缩容实现

1.背景介绍随着实时计算技术在之家内部的逐步推广,Flink 任务数及计算量都在持续增长,集群规模的也在逐步增大,本着降本提效的理念,我们研发了 Flink 任务伸缩容功能: 提供自动伸缩容功能,可自动调节 Flink 任务占用的资源,让计算资源分配趋于合理化。一方面避免用户为任务配置过多资源,造成资源浪费;另一方面,降低用户在调节资源方面的运维成本。 提供手动伸缩容功能,降低调节资源过程对业务的影响。伸缩容操作本质是先申请资源,待资源准备就绪后,才执行 Recover 操作,和重启..

2022-04-08 14:44:41 2092 1

原创 Flink源码学习笔记(1) Flink心跳机制的实现

前言开始分享第一篇flink源码的学习,诊断相关的文章仍会继续更新。先讲第一篇Flink实现的心跳机制。Flink代码版本是1.9.2类图依赖关系先上个心跳实现的类图其中主要的几个接口和实现类HeartbeatTarget : 请求回复心跳的接口,定义了requestHeartbeat (请求心跳),receiveHeartbeart(回复心跳)。HeartbeatManager : 维护请求回复心跳的接口,继承自 HeartbeatTarget,定义了 monitorTarget,u.

2022-04-08 13:26:46 439

原创 【无标题】

## markdown在哪里

2022-01-18 11:55:22 210

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除