其他分享
首页 > 其他分享> > 大数据(9c)Flink运行架构

大数据(9c)Flink运行架构

作者:互联网

文章目录

〇运行架构图

1、Client(客户端)

2、JobManager(作业管理器)

2.1、ResourceManager(资源管理器)

这个ResourceManager和YARN的碰巧重名,但不是一回事

2.2、Dispatcher(调度器)

2.3、JobMaster(作业主控器)

3、TaskManager

3.1、Slot(插槽)

例如:
1个TaskManager有3个插槽,那么TaskManager管理的内存会分成3份给各个插槽
资源插槽化意味着一个Task不需要和其它Job的Task竞争被管理的内存

3.2、Task、SubTask、Operator

并行度

流数据传输形式说明示例算子类比
One-to-one分区没有改变mapfliterflatMapSpark的窄依赖
Redistributing分区会发生改变keyBybroadcastrebalanceSpark的宽依赖

Operator Chains

相同并行度的One-to-one操作,Flink将这样相连的算子链接在一起形成一个Task,原来的算子成为里面的一部分。 每个task被一个线程执行.

3.3、图

3.3.1、StreamGraph(逻辑流图)

3.3.2、ExecutionGraph(执行图)

StreamGraph JobGraph ExecutionGraph PhysicalGraph
四层说明备注
StreamGraph代码生成的最初的图表示程序的拓扑结构。
JobGraph将多个符合条件的节点,链接为一个节点可减少数据在节点之间流动所需要的序列化/反序列化/传输消耗
ExecutionGraphJobGraph的并行化版本是调度层最核心的数据结构
PhysicalGraphJobManager根据ExecutionGraph对Job进行调度后,在各个TaskManager上部署Task后形成的“图”并不是一个具体的数据结构。
env.socketTextStream().flatMap(…).keyBy(0).sum(1).print();

上面这一行代码,并发度=2(Source为1个并发度)的执行图四层演变过程

Appendix

en

标签:Task,架构,插槽,9c,Flink,JobManager,TaskManager,执行
来源: https://blog.csdn.net/Yellow_python/article/details/121141156