当前位置: 首页 > news >正文

小众网站论文网站风格的特点

小众网站论文,网站风格的特点,网站建设要准备什么软件,cms是什么公司简称在Flink中#xff0c;作业#xff08;Job#xff09;的提交流程是一个复杂的过程#xff0c;涉及多个组件和模块#xff0c;包括作业的编译、优化、序列化、任务分发、任务调度、资源分配等。Flink通过分布式架构来管理作业的生命周期#xff0c;确保作业在不同节点上以高…        在Flink中作业Job的提交流程是一个复杂的过程涉及多个组件和模块包括作业的编译、优化、序列化、任务分发、任务调度、资源分配等。Flink通过分布式架构来管理作业的生命周期确保作业在不同节点上以高效和容错的方式运行。我们可以从底层原理和源码层面详细解析Flink作业的提交流程。 1. Flink的架构组件 Flink作业提交流程的底层实现涉及以下几个核心组件 Client用户通过Client提交作业通常是通过Flink的API如DataStream或Table API构建作业。JobManager负责协调和管理Flink集群的运行时组件。其主要职责是作业的调度、资源分配、故障恢复等。TaskManager负责在各个工作节点上执行作业的具体任务Task并与JobManager通信报告状态和进度。Dispatcher负责接受Client的作业请求并将作业传递给JobManager处理。ResourceManager负责资源的分配和调度确保集群有足够的资源来运行提交的作业。 2. 作业提交流程的概览 Flink作业的提交流程可以分为以下几个主要步骤 用户代码编写与作业构建用户通过Flink API构建Flink作业逻辑生成相应的StreamGraph流作业或Table作业。生成JobGraphClient将用户定义的逻辑转换为Flink内部的JobGraph这是Flink理解并能够执行的作业表示。向Dispatcher提交JobGraphClient将JobGraph提交到集群的DispatcherDispatcher接受作业请求。JobManager接管JobGraphDispatcher将JobGraph提交给JobManagerJobManager负责作业的调度和执行。JobGraph转换为ExecutionGraphJobManager将JobGraph进一步优化并转换为ExecutionGraph这是Flink真正执行的物理作业计划。任务的调度与执行JobManager将ExecutionGraph分解为多个并行子任务调度给TaskManager去执行。作业执行与监控TaskManager执行各个子任务并通过心跳机制向JobManager报告任务状态。 3. 从源码角度详细解析提交流程 3.1 用户提交作业 作业提交流程从用户通过ExecutionEnvironment或StreamExecutionEnvironment提交作业开始。下面以DataStream API为例提交流程一般是通过调用StreamExecutionEnvironment.execute()来触发。 final StreamExecutionEnvironment env StreamExecutionEnvironment.getExecutionEnvironment(); env.fromElements(1, 2, 3, 4, 5).map(i - i * i).print(); env.execute(Flink Job);调用execute()方法后Flink会进行以下操作 创建StreamGraph在执行环境中用户定义的操作被转化为StreamGraph这是Flink作业的逻辑表示记录了所有的操作算子及其连接关系。 StreamGraph streamGraph this.getStreamGraph(); 3.2 生成JobGraph 一旦StreamGraph构建完成Flink将其转换为JobGraph。JobGraph是一个优化后的表示它将包含计算任务的并行度、物理任务之间的依赖关系等是Flink提交给集群进行分布式执行的作业表示。 JobGraph jobGraph streamGraph.getJobGraph(); JobVertexJobGraph中的每个操作算子如map、filter等会被转化为JobVertex代表一个逻辑上的计算节点。JobEdge操作算子之间的连接关系会被转化为JobEdge定义了不同JobVertex之间的数据流动。 3.3 提交JobGraph到Dispatcher 客户端通过RPC将JobGraph提交给Flink集群中的Dispatcher由它来接管作业的调度和执行。 dispatcherGateway.submitJob(jobGraph, Flink Job, timeout); Dispatcher接受到作业后会创建一个JobManager实例来负责具体的作业执行流程。在集群模式下如YARN、Kubernetes等Dispatcher可能会启动一个新的JobManager即JobMaster实例来执行作业。 3.4 JobManager接管JobGraph 在JobManager中接收到JobGraph后作业的核心执行流程将由JobMaster处理。JobMaster首先会将JobGraph进一步优化和转换为ExecutionGraph这是Flink中实际执行任务的图结构包含所有物理任务及其依赖关系。 ExecutionGraph executionGraph new ExecutionGraph(jobGraph, ...); ExecutionVertexExecutionGraph中的每个顶点代表一个具体的并行任务即ExecutionVertex它们会被调度给不同的TaskManager实例执行。ExecutionEdgeExecutionVertex之间的依赖关系被表示为ExecutionEdge用于描述不同任务之间的通信模式如shuffle。 3.5 任务的调度与资源分配 JobMaster接管ExecutionGraph后会向ResourceManager申请资源以执行任务。ResourceManager负责调度并分配资源到TaskManager每个TaskManager会接收一部分任务并执行。 resourceManagerGateway.requestSlot(...); Slot分配每个TaskManager拥有多个Slot表示可用的计算资源。ResourceManager根据任务并行度为ExecutionVertex分配Slot。任务调度一旦Slot分配完成JobMaster会将任务调度到相应的TaskManager通过RPC调用将任务部署到这些TaskManager。 3.6 任务执行与监控 TaskManager负责执行分配到的任务它会启动相应的线程来处理每个ExecutionVertex中的任务。任务执行过程中TaskManager会定期通过心跳机制向JobMaster报告任务的状态和进度。 taskExecutorGateway.submitTask(...); 故障恢复如果任务失败JobMaster会根据Flink的容错机制如检查点机制尝试重新调度任务确保作业的高可用性。 4. 重要的源码模块 JobGraphorg.apache.flink.runtime.jobgraph.JobGraph表示用户作业的逻辑执行计划。ExecutionGraphorg.apache.flink.runtime.executiongraph.ExecutionGraph表示作业的物理执行计划任务调度基于此结构。JobMasterorg.apache.flink.runtime.jobmaster.JobMaster负责管理作业的整个生命周期包括任务调度、资源分配、故障恢复等。ResourceManagerorg.apache.flink.runtime.resourcemanager.ResourceManager负责资源的管理和分配确保作业运行时所需的计算资源。TaskManagerorg.apache.flink.runtime.taskmanager.TaskManager在每个节点上运行负责执行具体的任务并与JobManager协调。 5. Flink作业提交流程总结 用户通过Client提交Flink作业作业被转换为JobGraph。JobGraph通过Dispatcher提交给JobManagerJobManager将其转换为ExecutionGraph。JobManager与ResourceManager交互申请并分配资源调度任务到TaskManager执行。TaskManager执行任务并定期向JobManager报告任务状态。整个流程基于高效的分布式架构和容错机制保证作业的稳定和可靠执行。 这就是Flink作业从提交到执行的详细提交流程从底层原理和源码层面揭示了Flink的作业管理机制。
http://www.hkea.cn/news/14344803/

相关文章:

  • 工伤做实的那个网站建网站多少钱一个月
  • 北京专业网站制作大概费用wordpress 搜索提示
  • 网站托管目的是什么承德网站建设怎么做
  • 学习网站开发心得百度推广app
  • 网站上做烟花效果怎样做推广是免费的
  • 南昌建设局网站查询塔吊证怎么查网页设计与制作期末考试试题
  • 做网站要钱嘛seo初级入门教程
  • 用dw做的网页如何上传到网站WordPress 微盘
  • 注册免费的网站高端网站开发环境
  • 长泰县建设局网站厦门海绵城市建设官方网站
  • 高端网络建站seo网站优化推广怎么做
  • 吉林智能网站建设找哪家wordpress破解插件
  • 广东省建设工程安全协会网站保密管理咨询公司
  • 服装公司网站网页设计上海网站制作建设怎么样
  • 广东自考网站建设管理东莞快速优化排名
  • 网页版微信传输助手怎么退出上海优化seo公司
  • 网站解决访问量超载做衬衣的网站
  • 本地集团网站建设做百度推广需要什么条件
  • 苏州专业做网站公司电话网站建设之婚礼摄影网站设计
  • 西安网站建设中心浙江华企网站做的咋样
  • 教人做衣服的网站公司网站开发费用兴田德润在哪儿
  • 微信网站页面设计yyf做的搞笑视频网站
  • 如何做微信电子书下载网站百度网址大全手机浏览器
  • 网站建设公司网络服务网站建设费用详细表
  • python做的网站哪些上海搬家公司收费价目表2021
  • 做外贸网哪些网站免费国内网站备案流程
  • 网站建设可行性报告模板怎么网络推广自己业务
  • 做网站找合作伙伴绵阳网站建设培训
  • 长春建筑网站无代码网站开发平台
  • 北京燕郊网站建设做外单网站亚马逊