Flink源码——Job 提交、部署流程源码分析之提交jobGraph文件以及Job资源到集群
2022-04-08 16:40:22 14 举报
Flink源码——Job 提交、部署流程源码分析之提交jobGraph文件以及Job资源到集群
作者其他创作
大纲/内容
发送请求 到 WebMonitorEndpoint 的 Netty 服务端
通过 Netty 客户端发送请求给 Netty 服务端
接:Flink源码——Job 提交、部署流程源码分析之构建JobGraph
通过 getWebMonitorBaseUrl() 获取 JobManager 的 web 服务
* 注释: 先持久化: 把 JobGragh 持久化到磁盘文件形成 jobGraphFile\t\t * 1、持久化 JobGragh 的前缀:flink-jobgraph\t\t * 2、持久化 JobGragh 的后缀:.bin\t\t * 当我们把 JobGraph 持久化了之后,变成了一个文件: jobGraphFile\t\t * 然后其实,在提交 JobGraph 到 Flink 集群运行额时候,其实提交的就是: 这个文件!\t\t * 将来,最终是有 FLink 集群的 WebMonitor(JobSubmitHandler) 去接收请求来执行处理\t\t * JobSubmitHandler 在执行处理的第一件事情: 把传送过来的这个文件反序列化得到 JobGraph 这个对象\t\t */
JobSubmitHandler 来执行处理源码流程见:Flink 集群启动——启动脚本分析及主节点(JobManager)创建流程源码(Standalone模式)【补充主图3】
httpRequest.writeTo(channel);future = handler.getJsonFuture();success = true;
restClient = RestClient
构建提交任务的请求体,包含对应的一些资源, 主要是 jobGragh 的持久化文件 和 对应的依赖jar
RestClusterClient.submitJob()
加入待上传的文件系列
Flink源码(1.11.x) Job 提交、部署流程源码分析之提交jobGraph文件以及Job资源到集群
构建 Request
提交请求
getWebMonitorBaseUrl().
* 提交 Request 给 WebMonitorEndpoint, 最终由 JobSubmitHandler 来执行请求处理* 通过 Http Restful 方式提交
AbstractSessionClusterExecutor.execute()
发送请求sendRetriableRequest() 提交
return clusterClient.submitJob(jobGraph)
先持久化: 把 JobGragh 持久化到磁盘文件形成 jobGraphFile
RestClient.sendRequest
final java.nio.file.Path jobGraphFile = Files.createTempFile(\"flink-jobgraph\
解析响应:parseResponse
0 条评论
下一页