版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Spark运行架构与原理目录/Contents01基本概念02Spark集群运行架构03Spark运行基本流程基本概念01基本概念Spark运行架构包括集群资源管理器(ClusterManager)、运行作业任务的工作节点(WorkerNode)、每个应用的任务控制节点(Driver)和每个工作节点上负责具体任务的执行进程(Executor)。其中,集群资源管理器可以是Spark自带的资源管理器,也可以是YARN或Mesos等资源管理框架。与HadoopMapReduce计算框架相比,Spark所采用的Executor有两个优点:一是利用多线程来执行具体的任务(HadoopMapReduce采用的是进程模型),减少任务的启动开销;二是Executor中有一个BlockManager存储模块,会将内存和磁盘共同作为存储设备,当需要多轮迭代计算时,可以将中间结果存储到这个存储模块里,下次需要时,就可以直接读该存储模块里的数据,而不需要读写到HDFS等文件系统里,因而有效减少了IO开销;或者在交互式查询场景下,预先将表缓存到该存储系统上,从而可以提高读写IO性能。
Standalone模式部署ApplicationDriver用户编写的Spark应用程序,包含了DriverProgram以及在集群上运行的程序代码,物理机器上涉及了driver,master,worker三个节点。
Spark中的Driver即运行Application的main函数并创建SparkContext,创建SparkContext的目的是为了准备Spark应用程序的运行环境,在Spark中由SparkContext负责与ClusterManager通信,进行资源申请、任务的分配和监控等,当Executor部分运行完毕后,Driver同时负责将SparkContext关闭。
Standalone模式部署WorkerExecutor集群中任何一个可以运行spark应用代码的节点。Worker就是物理节点,可以在上面启动Executor进程。在每个Worker上为某应用启动的一个进程,该进程负责运行Task,并且负责将数据存在内存或者磁盘上,每个任务都有各自独立的Executor。Executor是一个执行Task的容器。RDDRDD(ResilientDistributedDataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。
Standalone模式部署TaskJob被送到某个Executor上的工作单元,但hadoopMR中的MapTask和ReduceTask概念一样,是运行Application的基本单位,多个Task组成一个Stage,而Task的调度和管理等是由TaskScheduler负责。包含多个Task组成的并行计算,往往由SparkAction触发生成,一个Application中往往会产生多个Job。Stage每个Job会被拆分成多组Task,作为一个TaskSet,其名称为Stage,Stage的划分和调度是有DAGScheduler来负责的,Stage有非最终的Stage(ShuffleMapStage)和最终的Stage(ResultStage)两种,Stage的边界就是发生shuffle的地方。Spark集群运行架构02Spark集群运行架构Spark是基于内存计算的大数据并行计算框架,比MapReduce计算框架具有更高的实时性,同时具有高效容错性和可伸缩性,在学习Spark操作之前,首先介绍Sprk运行架构。Spark运行基本流程03Spark运行基本流程Spark运行架构主要由SparkContext、ClusterManagaer和Worker组成,其中ClusterManager负责整个集群的同一资源管理,Worker节点中的Executor是应用执行的主要进程,内部含有多个Task线程以及内存空间。Spark运行基本流程1)构建SparkApplication的运行环境(启动SparkContext),SparkContext向ClusterManager注册,并申请运行Executor资源。2)ClusterManager为Executor分配资源并启动Executor进程,Executor运行情况将随着“心跳”发送到ClusterManager上。3)SparkContext构建DAG图,将DAG图分解成多个Stage,并把每个Stage的TaskSet(任务集)发送给TaskScheduler(任务调度器)。Executor向SparkContext申请Task,TaskScheduler将Task发放给Executor,同时,SparkContext将应用程序代码发放给Executor。4)Task在E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国空心柄餐具数据监测研究报告
- 2025至2030年中国布块拼接用线数据监测研究报告
- 2025年中国风冷螺杆空调机市场调查研究报告
- 2025年中国螺纹烛市场调查研究报告
- 2025年中国水冷却磁粉离合器市场调查研究报告
- 区域协同立法机制研究
- 人才引进政策对企业创新效率的影响研究
- 二零二四年企业债券担保委托保证合同3篇
- 2025年度船员劳务合同范本修订版4篇
- 二零二五年度水库水资源调配与承包管理合同3篇
- 人员测评与选拔的主要方法课件
- 2024年度节后复工建筑施工安全培训交底
- 2024年内蒙古电力集团招聘笔试参考题库含答案解析
- 阿米巴落地实操方案
- 药物制剂工(三级)理论试题题库及答案
- 高强度间歇训练(HIIT)对代谢健康的长期影响
- ICU患者导管留置登记表
- 中建商务工作指南手册
- 耳鼻咽喉:头颈外科疾病诊断流程与冶疗策略
- 贵州省2023年中考英语真题
- 个人借条电子版模板
评论
0/150
提交评论