网站大量收购闲置独家精品文档,联系QQ:2885784924

Spark大数据分析 课件 2.3 Spark运行架构与原理.pptx

Spark大数据分析 课件 2.3 Spark运行架构与原理.pptx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

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集群运行架构02

Spark集群运行架构Spark是基于内存计算的大数据并行计算框架,比MapReduce计算框架具有更高的实时性,同时具有高效容错性和可伸缩性,在学习Spark操作之前,首先介绍Sprk运行架构。

Spark运行基本流程03

Spark运行基本流程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(任务调度器)。Executo

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档