202111-20更文-flink结构及任务提交

163 阅读2分钟

这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战

flink结构及任务提交

前文

本文内容主要是对于flink运行架构的一些个人理解,由于对于flink内容的了解还处于表面阶段,因此文章中难免有不足之处,如有问题还请见谅。

flink运行时组件

  • 作业管理器:JobManager
    • 作业管理器为应用程序执行时的主进程,也就是对于每个应用程序来说,都会被一个不同的作业管理器进行管理。
    • 作业管理器在接收应用程序后,会根据对于应用程序中的处理结果,向资源管理器申请任务管理器上的插槽位置。当获得足够的资源后,就会将任务分发到对应的任务管理器上进行执行。
  • 资源管理器:ResourceManager
    • 资源管理器主要负责帮助作业管理器向任务管理器进行插槽的申请。当作业管理器申请时,会通过资源管理器将插槽分配给作业管理器用于任务的执行。
  • 任务管理器:TaskManager
    • 任务管理器为flink工作时的进程,flink中会包含多个任务管理器,同样的任务管理器中会包含多个任务插槽。
    • 在收到资源管理器的指令后,任务管理器会分配插槽给作业管理器,作业管理器分配任务进行执行。
  • 分发器:Dispacher
    • 分发器主要是提供一个web端的查询接口,用于对于作业任务的监控。
    • 同时也会负责对于任务应用向作业管理器的分发。

flink任务提交流程

flink任务的提交流程主要是在提交应用后,通过分发器启动应用,并向作业管理器进行提交。作业管理器收到应用程序后,会通过资源管理器向任务管理器进行插槽的请求。请求后收到插槽信息后,向插槽中提交要执行的任务进行执行。通过这种流程,即可将任务调度分配个具体的任务管理器中的插槽进行执行。

并行度

对于flink任务的执行,包含任务并行度的概念。该概念可以简单的解释为,同一任务有多少子任务,将其理解为并行度。

总结

本文内容暂时为对于flink结构内容的简单介绍,除此之外还有很多需要注意的点,后续要在学习中提高。

后记

  • 千古兴亡多少事?悠悠。不尽长江滚滚流。