然后我们分别来看flink运行时的组件,提交流程,任务调度原理。
可以看到运行时的组件有4个
分别是作业管理器,任务管理器,资源管理器和分发器。
首先看作业管理器。
作业管理器是控制一个应用程序执行的主进程,也就是说每个应用程序都会被一个不同的作业管理器所控制执行。
jobmanager会先收到有执行的应用程序,这个应用程序会包括作业图,逻辑数据流图和打包了所有的类库和其他资源的jar包。
作业管理器会把作业图转化成一个物理层面的数据流图,这个图被叫做执行图,包含了所有可并发执行的任务。
作业管理器会向资源管理器请求执行任务必要的资源也就是任务管理器上的插槽,一旦它获取足够的资源,就会将执行图分发到真正运行他们的taskmana