内容提要
本文介绍了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类将执行计划转换为物理计划。
-
生成执行计划的步骤包括生成执行边、洗牌边、转换链边和生成管道。
-
物理计划包含多个子计划,每个子计划由多个物理顶点组成。