`
qindongliang1922
  • 浏览: 2194652 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117842
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:126256
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:60216
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71559
社区版块
存档分类
最新评论

Spark架构模型介绍

阅读更多

集群概述:

(一)组件
spark应用作为一系列独立的进程运行在集群上,通过SparkContext来协调,这个对象一般在我们的main程序里面,通常称为驱动程序,

特别的,为了能够在集群上运行,SparkContext对象支持集成了大多数集群调度比如,Spark自己的standalone ,Hadoop2.x的Yarn
以及Mesos,通过这些调度来管理分配整个程序的资源, 只要能连接上某种集群调度器,spark就会获得每个节点上的executors
我们的程序task就由executors负责计算和存储数据,下一步spark会分发这些代码(jar包,或者Python文件)到我们的executors,最后
SparkContext 会发送task到executors运行。一个拓扑图如下:






一些注意的地方如下:
1,每个应用获取它自己的executor进程,每个task会以多线程的方式运行在executor进程的jvm中,互相之间完全隔离的,但是这也意味着
他们不能再不同的应用(SparkContex)之间共享数据,除非将他们写入一个外在的存储系统

2,集群管理者,能够获取获取executor,并且相互之间通过心跳相互交流

3,驱动程序会连接监听它的executor在整个executor的生命周期之内,所以驱动程序与worker node之间的网络是必须相通的

4,因为驱动程序(SparkContext)调度task在整个集群中,所以它应该与worknode在一个网络拓扑中,当然我们也可以通过远程提交任务,
更好的远程提交方式是通过RPC驱动和提交任务


(二)集群管理类型

当然的spark支持三种集群类型

1,standalone,spark自带最简单快速的一种方式
2,Apache Mesos  , 一种通用的资源调度器,可以运行Hadoop MapReduce和其他的一些服务应用
3,Hadoop YARN , hadoop2自带的资源调度器

除此之外,Spark自带的ec2集群脚本,能够非常容易的启动一个standalone集群在亚马逊的EC2上


(三)提交应用程序

应用程序可以被提交任何集群类型,通过使用spark-submit脚本

(四)监听
每个驱动程序有一个web页面,默认是使用4040端号,展示正在运行的task,executors,存储利用率,

(五)任务调度

spark集群类型调度控制应用程序之间的资源分配,在一个程序之间同时发生多个计算时。

一些名词解释:

序号名词描述
1Application使用者编写的spark程序,由驱动程序和executors组成
2Application jar一个jar包包含使用者的程序,某些情况下,会创建一个主jar包含其组成的依赖,但这些依赖中,不能包括hadoop和spark的相关的依赖,因为这些会在运行时,添加进去
3Driver program运行main方法和创建SparkContext上下文
4Cluster manager(YARN 或者 Mesos或者Spark Standalone)负责外部应用的资源分配
5Deploy mode区别cluster模式,client提交驱动任务在集群外部,而cluster提交驱动程序在集群内部
6Worker node在整个集群中运行任务的节点
7Executor在一个worker node上启动的一个进程,运行任务,保存数据在内存或者磁盘上,每个应用有它自己的一系列executors
8Task一个工作单元,轻量级线程模式运行在进程Executor里面
9Job一个并行的计算过程由多个task组成,并且执行一些action(例如collect,save,foreach等)等待spark响应,在log里面可见日志
10stage每个job被切分为多个小的task被称为stage,他们之间相互依赖,非常类似hadoop的MapReduce,在驱动的log里面可见日志






有什么问题 可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园











  • 大小: 28.3 KB
2
1
分享到:
评论

相关推荐

    Spark实战高手之路-第3章Spark架构设计与编程模型(4)

    根据文件内容,本章的知识点主要围绕Spark架构设计与编程模型的各个方面进行展开。首先,要成为Spark高手,必须经历以下几个阶段:熟练掌握Scala语言、精通Spark平台提供的API、深入了解Spark内核、掌握基于Spark的...

    spark高手之路-spark架构设计与编程模型

    此阶段掌握基于Spark上的核心...spark作为云计算大数据时代的集大成者,在实时流处理,图技术,机器学习,NoSQL查询等方面具有显著的优势,我们使用spark的时候大部分时间都是在使用其框架如:spark,spark Steaming等

    4.Spark运行架构.pdf

    4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介.pdf 6.SparkSQL(下)--Spark实战应用.pdf 6.SparkSQL(中)--深入了解运行计划及调优.pdf 7....

    3.Spark编程模型(下)--IDEA搭建及实战.pdf

    4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介.pdf 6.SparkSQL(下)--Spark实战应用.pdf 6.SparkSQL(中)--深入了解运行计划及调优.pdf 7....

    3.Spark编程模型(上)--概念及SparkShell实战.pdf

    4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介.pdf 6.SparkSQL(下)--Spark实战应用.pdf 6.SparkSQL(中)--深入了解运行计划及调优.pdf 7....

    Spark Standalone架构设计.docx

    RDD(Resilient Distributed Datasets)是 Spark 的核心概念之一,弹性分布式数据集,它是对分布式数据集的一种内存抽象,通过受限的共享内存方式来提供容错性,同时这种内存模型使得计算比传统的数据流模型要高效。...

    Spark架构设计.pdf

    《Spark架构设计》这本书是大数据领域的一本重要参考资料,它深入浅出地解析了Spark的核心架构和设计理念。Spark作为一个快速、通用且可扩展的数据处理框架,已经在数据科学和工程领域得到了广泛应用。以下将从多个...

    Spark运行架构和解析

    Spark是一个高效的数据处理框架,它通过一种灵活且强大的编程模型支持多种计算模式,包括批处理、流处理以及交互式查询等。为了更好地理解Spark如何高效地进行数据处理,我们需要深入了解其内部的工作原理和运行架构...

    Spark技术内幕 深入解析Spark内核架构设计与实现原理 百度云pdf 张安站

    《Spark技术内幕:深入解析Spark内核架构设计与实现原理》是张安站所著的一本深度剖析Spark核心架构和实现细节的专业书籍。Spark作为大数据处理领域的热门框架,以其高效、易用和可扩展性备受青睐。这本书旨在帮助...

    Spark技术内幕 深入解析Spark内核架构设计与实现原理 高清 完整书签

    2. **Spark架构**:详细解析Spark的整体架构,包括Master节点、Worker节点、Driver程序和Executor的角色和职责。讲解Spark如何通过Cluster Manager(如YARN、Mesos或独立模式)进行资源管理和调度。 3. **RDD设计**...

    7.SparkStreaming(上)--SparkStreaming原理介绍.pdf

    4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介.pdf 6.SparkSQL(下)--Spark实战应用.pdf 6.SparkSQL(中)--深入了解运行计划及调优.pdf 7....

    9.SparkGraphX介绍及实例.pdf

    4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介.pdf 6.SparkSQL(下)--Spark实战应用.pdf 6.SparkSQL(中)--深入了解运行计划及调优.pdf 7....

    基于大数据的餐饮推荐系统,整体采用Lambda架构,读取餐饮评分数据并通过Spark的MLlib中的ALS建立推荐模型后进行推荐

    《基于大数据的餐饮推荐系统——探索Lambda架构与Spark MLlib ALS模型》 在现代数字化时代,餐饮行业的竞争日益激烈,个性化推荐已经成为提升客户满意度、增强用户粘性的重要手段。本篇将深入探讨一种基于大数据的...

    Spark技术内幕 深入解析Spark内核架构设计与实现原理

    这本书深入浅出地介绍了Spark如何处理大数据,包括其执行引擎、内核架构以及不同执行阶段的调度策略。Spark作为一种快速、通用且可扩展的大数据处理框架,已经成为了大数据领域的热门工具。下面,我们将深入探讨...

    Spark技术内幕:深入解析Spark内核架构设计与实现原理

    **Spark架构组件** 1. **Driver Program**: 用户代码运行的地方,负责创建SparkContext,定义DAG(有向无环图)作业,并提交到集群。 2. **SparkContext**: Spark程序的入口点,负责连接到集群,创建RDD和作业。 3. ...

    基于Spark架构的机器学习平台设计与研究.pdf

    《基于Spark架构的机器学习平台设计与研究》 在当今信息时代,大数据的挖掘与分析已经成为价值创造的关键。尤其在实时数据处理领域,由于互联网信息技术的广泛应用,对海量实时数据的分析与挖掘变得日益重要。为此...

    Spark 入门实战系列

    4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介.pdf 6.SparkSQL(下)--Spark实战应用.pdf 6.SparkSQL(中)--深入了解运行计划及调优.pdf 7....

    Spark技术内幕深入解析Spark内核架构设计与实现原理.pdf

    3. **Spark架构**:Spark由Driver Program、Cluster Manager和Worker Node三部分组成。Driver负责任务调度,Cluster Manager管理资源分配,Worker Node执行实际计算任务。 4. **Spark运行模式**:Spark支持Local、...

Global site tag (gtag.js) - Google Analytics