当前位置: 代码网 > it编程>编程语言>Java > Flink知识散点

Flink知识散点

2024年08月01日 Java 我要评论
上述知识点,囊括了目前互联网企业的主流应用技术以及能让你成为“香饽饽”的高级架构知识,每个笔记里面几乎都带有实战内容。很多人担心学了容易忘,这里教你一个方法,那就是重复学习。打个比方,假如你正在学习 spring 注解,突然发现了一个注解@Aspect,不知道干什么用的,你可能会去查看源码或者通过博客学习,花了半小时终于弄懂了,下次又看到@Aspect 了,你有点郁闷了,上次好像在哪哪哪学习,你快速打开网页花了五分钟又学会了。从半小时和五分钟的对比中可以发现多学一次就离真正掌握知识又近了一步。

前面我们调用的所有方法,都不是在实际处理数据,而是在构通表达计算逻辑的dag图。只有当我们将整个图构建完成并显式调用 execute 方法后,框架才会把计算图提交到集群中,接入数据并执行实际的逻辑。

3、flink runtime 层的整个架构主要是在 flip-6 中实现的,整体上采用了标准 master-slave 的结构。

其中master负责管理整个集群中的资源和作业;而taskexecutor 则是 slave,负责提供具体的资源并实际执行作业。

4、master

部分又包含了三个组件,即 dispatcher、resourcemanager 和 jobmanager。

a.dispatcher负责接收用户提供的作业,并且负责为这个新提交的作业拉起一个新的 jobmanager 组件。

b.resourcemanager 负责资源的管理,在整个 flink 集群中只有一个 resourcemanager。

c.jobmanager 负责管理作业的执行,在一个 flink 集群中可能有多个作业同时执行,每个作业都有自己的 jobmanager 组件。

以上三个组件都包含在 appmaster 进程中。

5、当用户提交作业时,提交脚本会先启动一个client进程负责作业的编译与提交。

它先将用户编写的代码编译为一个 jobgraph,在这个过程,它还会进行一些检查或优化等工作,如判断哪些 operator 可以 chain 到同一个 task 中。然后,client 将产生的 jobgraph 提交到集群中执行。此时有两种情况,一种是类似于 standalone 这种 session 模式,am 会预先启动,此时 client 直接与 dispatcher 建立连接并提交作业即可。另一种是 per-job 模式,am 不会预先启动,此时 client 将首先向资源管理系统 (如yarn、k8s)申请资源来启动 am,然后再向 am 中的 dispatcher 提交作业。

6、当作业到 dispatcher 后

dispatcher 会先启动一个 jobmanager 组件,然后 jobmanager 会向 resourcemanager 申请资源来启动作业中具体的任务。这时根据 session 和 per-job 模式的区别, taskexecutor 可能已经启动或者尚未启动。若是前者,此时 resourcemanager 中已有记录了 taskexecutor 注册的资源,可以直接选取空闲资源进行分配。若是后者,resourcemanager 也需要先向外部资源管理系统申请资源来启动 taskexecutor,然后等待 taskexecutor 注册相应资源后再继续选择空闲资源进程分配。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、oppo等大厂,18年进入阿里一直到现在。

深知大多数java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注java获取)

img

总结

上述知识点,囊括了目前互联网企业的主流应用技术以及能让你成为“香饽饽”的高级架构知识,每个笔记里面几乎都带有实战内容。

很多人担心学了容易忘,这里教你一个方法,那就是重复学习。

打个比方,假如你正在学习 spring 注解,突然发现了一个注解@aspect,不知道干什么用的,你可能会去查看源码或者通过博客学习,花了半小时终于弄懂了,下次又看到@aspect 了,你有点郁闷了,上次好像在哪哪哪学习,你快速打开网页花了五分钟又学会了。

从半小时和五分钟的对比中可以发现多学一次就离真正掌握知识又近了一步。

人的本性就是容易遗忘,只有不断加深印象、重复学习才能真正掌握,所以很多书我都是推荐大家多看几遍。哪有那么多天才,他只是比你多看了几遍书。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》
门即可获取!](https://bbs.csdn.net/forums/f76c2498e3b04ae99081eaf6e6cf692c)**

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com