Apache SeaTunnel Zeta 引擎源代码分析(第三部分):服务器端任务提交

Apache SeaTunnel Zeta 引擎源代码分析(第三部分):服务器端任务提交

💡 原文英文,约6800词,阅读约需25分钟。
📝

内容提要

本文介绍了Apache SeaTunnel Zeta Engine源代码中任务提交的处理过程。当客户端向服务器发送任务提交消息时,服务器会将其处理为SubmitJobTask类,并通过submitJob方法传递给CoordinatorService组件。文章还介绍了任务的部署和资源分配过程,以及通过REST API进行任务提交的方法。

🎯

关键要点

  • 本文介绍了Apache SeaTunnel Zeta Engine源代码中任务提交的处理过程。

  • 客户端向服务器发送任务提交消息,服务器处理为SubmitJobTask类。

  • 任务通过submitJob方法传递给CoordinatorService组件。

  • 文章讨论了任务的部署和资源分配过程。

  • 介绍了通过REST API进行任务提交的方法。

  • 服务器启动后,CoordinatorService、SlotService和TaskExecutionService组件开始运行。

  • 客户端发送SeaTunnelSubmitJobCodec消息,服务器通过消息传递处理请求。

  • SeaTunnelSubmitJobCodec类与SeaTunnelMessageTaskFactoryProvider类关联,映射消息类型到MessageTask类。

  • SubmitJobTask类调用SubmitJobOperation类进行任务提交。

  • CoordinatorService检查任务ID是否已存在,避免重复提交。

  • JobMaster对象用于管理单个任务,初始化时获取资源管理器和作业历史信息。

  • ResourceManager在首次任务提交时懒加载,收集集群节点信息。

  • JobMaster的init方法完成后,任务创建成功,run方法开始执行任务。

  • 逻辑计划转换为物理计划的过程通过PlanUtils.fromLogicalDAG方法实现。

  • ExecutionPlanGenerator类生成执行计划,PhysicalPlanGenerator类将执行计划转换为物理计划。

  • 生成执行计划的步骤包括生成执行边、洗牌边、转换链边和生成管道。

  • 物理计划包含多个子计划,每个子计划由多个物理顶点组成。

🏷️

标签

➡️

继续阅读