从0到1Flink的成长之路- Flink 原理探析接着干干
Posted 熊老二-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从0到1Flink的成长之路- Flink 原理探析接着干干相关的知识,希望对你有一定的参考价值。
Job Managers, Task Managers, Clients
Flink 应用运行时包含2个组件:JobManager和TaskManagers:
JobManagers,也称为Masters,协调Flink Job分布式执行。
1.They schedule tasks, coordinate checkpoints, coordinate recovery on failures, etc.
2.至少一个JobManager,针对高可用HA,可以启动多个JobManager,其中一个是
leader,其他都是standby。
3.接收到JobClient提交的执行计划之后,针对收到的执行计划,继续解析,因为JobClient
只是形成一个operaor层面的执行计划,所以JobManager继续解析执行计划(根据算子
的并发度,划分task),形成一个可以被实际调度的由task组成的拓扑图,最后向集群申
请资源,一旦资源就绪,就调度task到TaskManager。
TaskManagers,也称为Workers,执行DataFlow数据流中Task(确切说时subTask),缓冲
buffer和交换exchange数据流数据。
1.必须有一个TaskManager,需要分配CPU Cores核数。
2.接收并执行JobManager发送的task,并且与JobManager通信,反馈任务状态信息,比
如任务分执行中,执行完等状态,上文提到的checkpoint的部分信息也是TaskManager
反馈给JobManager的。
此外Job Clients不是Flink 程序运行和执行一部分,但是被用于准备和发送DataFlow至
JobManager,Client可以连接JobManager,获取Flink Job运行进度信息。JobClient是Flink
程序和JobManager交互的桥梁,主要负责接收程序、解析程序的执行计划、优化程序的执行
计划,然后提交执行计划到JobManager。
Task Slots
每个TaskManager是一个JVM Process,将在不同线程Treads中执行一个或多个SubTask任
务。每个SubTask任务运行地方称为:Task Slots(任务槽,资源槽等)。
Slot是TaskManager资源粒度的划分,每个Slot都有自己独立的内存。所有Slot平均分配
TaskManger的内存,比如TaskManager分配给Solt的内存为8G,两个Slot,每个Slot的内存为
4G;四个Slot,每个Slot的内存为2G。值得注意的是,Slot仅划分内存,不涉及cpu的划分。
Slot是Flink中的任务执行器(类似Storm中Executor),每个Slot可以运行多个subtask,而且
一个subtask会以单独的线程来运行。
以上是关于从0到1Flink的成长之路- Flink 原理探析接着干干的主要内容,如果未能解决你的问题,请参考以下文章
从0到1Flink的成长之路- Flink 原理探析接着干干
从0到1Flink的成长之路- Flink 原理探析接着干干
从0到1Flink的成长之路- Flink 原理探析接着干干干