本文讲一些比较八股的概念性东西,不是特别实用,但对于理解任务的运行非常有帮助。先做个自我检测:你知道Flink的Job指什么吗?Task呢?Subtask呢?这些和JVM Thread的对应关系是什么?你能估计出你的应用跑起来以后大概会产生多少个Thread吗?你知道你的应用需要多少个Slot吗?OK,如果你都清楚了,那Ctrl/Command+w吧...。如果还有些疑问,可以继续往下看。注...
在之前的文章 Flink快速了解(4)——NativeKubernetes&HA 中讲到 Native Kubernetes在Flink 1.12版本中已经成为一个正式特性,使用起来也的确非常的简单、方便,但文末提到我碰到的一个问题:无法挂载volume。其实目前Flink Native Kubernetes这种方式提供的容器自定义能力还非常有限。从代码看,是通过一个个配置去支持的(见Kub...
Flink的1.12.0版本前段时间发布了,又带来了很多新特性,其中有两个跟容器化相关的特性:Native Kubernetes部署方式由之前的实验性(experimental)变为正式特性,也就是我们可以在生产环境里面放心大胆的使用了;Kubernetes上面Flink的高可用除了ZooKeeper外又多了一种更轻量级的,更Native的基于ConfigMap的方案选择。当然,这些特性目前...
本文介绍Flink任务流转过程中涉及的图,知道这些可以更好的了解Flink的运行流程。如上图,Flink中有4种图:StreamGraph、JobGraph、ExecutionGraph、PhysicalGraph,分别处于不同的阶段,承担不同的职责。StreamGraphStreamGraph其实就是把我们的代码逻辑以拓扑图的形式组织了一下,其实现类的描述如下:// StreamGraph...
截至1.12.0版本,Flink有3种集群部署/运行模式:Flink Session ClusterFlink Job ClusterFlink Application Cluster三种运行模式主要区别在3个方面:集群的生命周期集群的资源隔离main()方法在Client侧执行还是在集群侧执行下面分别介绍一下。Flink Session Cluster该模式就是先有一个已经在运行的Flin...
了解一个系统当然是先从整体的架构开始(难道不应该是quick start吗?):如上图,Flink这个分布式流批统一计算框架也是典型的主从架构,JobManager是主,TaskManager是从。JobManager其实是一个统称,其内部根据功能拆分成了3个大模块:ResourceManager:如其名,就是做资源管理的。Flink里面资源是以TaskManager提供的Slot形式存在的...
一直想系统的写一系列Flink的文章,但由于以下原因一直搁置:凡是想写的东西网上都能找到,而且不乏有深度有质量的好文;我想写的很多东西都是基于自己对官方文档及一些高手的文章的多次阅读、实验,以及自己项目中的实践总结,所以理论上是官方文档部分内容的一些总结或者一些实战笔记;一直没有全面研究过源码,感觉不够深入,还没有达到写一系列的水平;没时间、懒、拖延症(last but not the le...
Flink的Watermark细节介绍一文中提到了Watermark其实主要就是解决Event Time + Window中的数据完整性问题的,本文作为那篇文章的补充,再介绍一下Window这个概念。关于这部分,我觉得官方文档已经介绍的非常详细了,如果你是Flink使用者,强烈建议好好读几遍。我这里就主要概括性的介绍一下,作为前面文章的补充,同时解决前文遗留的一个问题。What & Why什...
- 1
- 2
- 后一页 »