自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 5.精通Flink1.19—RPC框架设计

2)FencedRpcEndpoint继承RpcEndpoint,内部增加了fencingToken字段,实现了FencedRpcEndpoint的节点都会有一个fencingToken,当远程RPC调用时,会比较访问者和被访问者的fencingToken是否一致,一致了才会进行后续操作。1.RpcGateway接口Flink RPC底层通信用到的动态代理,动态代理中使用的目标类实现的接口最终都是RpcGateway(也就是说动态代理创建的接口最上层都是RpcGateway)

2024-04-11 10:34:36 933 1

原创 3.精通Flink1.19—动态代理

3.PekkoInvocationHandler类实现了InvocationHandler并实现invoke方法,是将代理类的方法,参数类型,参数封装为RpcInvocation对象,之后通过Pekko.tell 、Pekko.ask方法将RpcInvocation作为消息发送到代理接口所在的进程中。1.动态代理用到的所有类都是RpcGateway 实现,也就是说创建的是RpcGateway接口对应实现类的动态代理,比如ResourceManagerGateway接口。

2024-04-11 10:32:49 645 1

原创 2.精通Flink1.19—集群架构

在Flink中这里说的资源主要是TaskManager节点上的Task Slot计算资源,Flink中每个提交的任务最终会转换成task,每个task需要发送到TaskManager 上的slot中执行(slot是资源调度最小的单位),Flink为不同的环境和资源提供者(例如:Yarn/Kubernetes和Standalone)实现了对应的ResourceManager,这些ResourceManager负责申请启动TaskManager获取Slot资源。

2024-04-11 10:27:26 593 1

原创 1.Flink1.19、Flink1.18源码编译及本地运行

🔥 Flink1.19源码录制火热进行中!想要深入理解Flink的RPC通信、心跳机制以及Metric等核心组件吗?别犹豫了,直接来看源码吧!📚🎯 我知道你可能担心,源码那么复杂,我能看懂吗?会不会看了就忘?别担心,我来告诉你:底层的东西虽然深奥,但都是相互关联的,就像一张精密的网。只有深入其中,才能真正理解其运作机制。🌐🚀 如今的IT行情,不再是比拼知识的广度,而是看对技术的深度掌握。精通Flink源码,不仅能让你在工作中游刃有余,还能让你在职业生涯中脱颖而出!🌟

2024-04-11 10:23:00 618 1

原创 Flink1.19源码深度解析-ClusterEntrypoint

如果一个main()方法中有多个env.execute()/executeAsync(),在Application模式下,这些作业会被视为属于同一个应用,在同一个集群中执行(如果在Per-Job模式下,就会启动多个集群)。对于per-job模式,jar包的解析、生成JobGraph是在客户端上执行的,如果任务特别多的话,那么这些生成JobGraph会对客户端服务器有压力。Application 模式会在客户端将运行任务需要的依赖都上传到 Flink Master,然后在 Master 端进行任务的提交。

2024-03-27 18:08:46 817 1

原创 2.Flink RPC源码分析

对 RPC 框架中提供具体服务的实体的抽象,所有提供远程调用方法的组件都需要继承该抽象类。另外,对于同一个 RpcEndpoint 的所有 RPC 调用都会在同一个线程(RpcEndpoint 的“主线程”)中执行,因此无需担心并发执行的线程安全问题。

2024-03-21 17:18:32 41 2

原创 第一章.1.Flink1.19、Flink1.18源码编译及本地运行

核心点:教会大家如何编译flink以及本地运行Standalone本节课。

2024-03-16 15:33:18 655 2

原创 深入理解JVM之字节码结构

通常情况下我们都知道编写的.java文件编译成.class之后,由类加载器ClassLoader加载、链接、初始化等一系列操作。JVM加载类的过程中会产生一个Class对象来表示类的信息。通过Class可以知道类的段名字、类型、访问权限、方法等信息。那么java文件编译成class字节码是怎样一种格式呢?接下来进行分析,class 字节码包含的信息其实就是JVM定义了一系列的格式来表示字节码或者类...

2020-09-18 18:03:30 172

原创 深入理解JVM之类加载器

在java代码中,类型的加载、连接、初始化都是在程序运行期间完成的(类型值得是类本身,不是类对象)。 类的生命周期分为加载、连接、初始化、使用、卸载。连接又分为验证、准备、解析。类的加载、连接、初始化。加载:查找并加载类的二进制数据。连接 验证:确保加载类的准确性。 准备:为类的静态变量分配内存,并将其初始化为默认值。 eg:public static ...

2020-04-04 17:17:55 195

原创 Spark底层通信RPC源码分析

RPC通信:无论是hadoop2.x的Rpc通信方式还是Spark2.x的Rpc通信方式,简单通俗的来说就是两个进程之间的远程通信,比如java 一个A项目里面有一个class A,里面有一个washA方法一个B项目里面有一个Class B类,里面有一个方法是washB,B项目通过代理模式以及java的反射机制调用到A项目里面的washA,这种情况下就可以理解为是一个简单的Rpc通信方式。Sp...

2016-11-27 20:06:56 2951

基于ambari最新版本hadoop的湖仓一体、流批一体架构方案,并在上线生产

基于最新版本的湖仓一体、流批一体架构方案 hadoop-3.3.4+tez-0.10.2+hive-3.1.3+hbase-2.4.14+atlas-2.2.0+kafka- 2.8.2+ranger-2.3.0+flink-1.15.2+spark-3.3.0+hudi-0.12.1.jar+iceberg-0.14.1.jar+streamx

2022-12-21

prometheus grafana 基于开源监控apache Hadoop模板大全

jmx prometheus grafana 监控开源hadoop各个组件模板。 Hadoop、Zookeeper、HBase等包含12个json模板 导入即可使用,不许做任何修改。

2022-04-13

空空如也

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

TA关注的人

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