标签:计算机
浏览:49
内容:

Flink 运行时至少包含两个进程:JobManager和TaskManager。


1、Flink Program (用户开发的应用程序)

负责将程序代码解析成数据流图(Dataflow graph),并发送给JobManager,不负责逻辑处理。


2、JobManager

负责接收来着Client(Flink Program)的数据流图(Dataflow graph),并重新划分成更加详细的ExecutionGraph,然后交由TaskManager执行。


2.1、ResourceManager

负责资源的管理,在整个 Flink 集群中只有一个 ResourceManager。

主要负责管理任务管理器(TaskManager)的插槽(slot),TaskManger插槽是Flink中定义的处理资源单元。


2.2、Dispatcher

负责接收用户提供的作业,并且负责为这个新提交的作业启动一个新的JobMaster组件。


2.3、JobMaster

JobMaster负责管理单个JobGraph的执行。多个Job可以同时运行在一个Flink集群中,每个Job都有一个自己的JobMaster。


3、TaskManager

负责按照Executor Graph的规划执行业务逻辑。

Flink中的工作进程,在Flink集群中会有多个TaskManager运行,每一个TaskManager都包含了一定数量的插槽(slots)。