Spark架构简介

栏目: 服务器 · 发布时间: 7年前

内容简介:Spark是一个master/slave架构的分布式系统,它的架构主要包含有一个Spark集群一般拥有单个的Driver和多个的Executor。Spark Driver和Executor都是独立运行的JVM进程,它们可以运行在单台机器上,也可以运行在多台机器上。Spark Driver是一个Spark Application的主入口,它可以用Scala,Python或者R进行编写。一个Spark Driver包含有一个SparkContext,这是整个Spark Application中最核心的组件。同

Spark是一个master/slave架构的分布式系统,它的架构主要包含有

  • Spark Driver
  • Spark Executor
  • Cluster Manager
    Spark架构简介

一个Spark集群一般拥有单个的Driver和多个的Executor。Spark Driver和Executor都是独立运行的JVM进程,它们可以运行在单台机器上,也可以运行在多台机器上。

Spark Driver

Spark Driver是一个Spark Application的主入口,它可以用Scala,Python或者R进行编写。一个Spark Driver包含有一个SparkContext,这是整个Spark Application中最核心的组件。同时,还包含有DAGScheduler, TaskScheduler, BackendScheduler和BlockManager等组件用于将用户代码转换为Spark job运行在集群当中。Spark Driver的主要功能包括:

  • 负责协调Job的运行和以及Cluster Manager进行交互。
  • 将RDD转换为执行的DAG图,同时把DAG图分为不同的Stage
  • 将Job切割成更小的执行单元,Task,由Executor执行。
  • 启动一个HTTP Server,端口为4040。这个Web UI会把Spark Application运行时的信息展示出来。

Spark Executor

Spark Executor是Task的实际执行者。每个Application的Executor数量可以通过配置指定(Static Allocation)或者有Spark动态分配(Dynamic Allocation)。Executor的主要功能包括:

  • 负责所有的数据处理工作
  • 用于读取和写入外部数据源
  • 缓存着计算过程中的数据

Cluster Manager

严格上说Cluster Manager并不是Spark的一部分,而是一个外部的Service(除了Standalone)。Spark Driver会和其进行交互用于从集群里获取资源(CPU,Memory等)。目前Spark支持4种Cluster Manager:

  • Standalone:这是一种Spark自带的集群管理模式,设计也比较简单。
  • Apache Mesos:Mesos是一种通用的集群资源管理服务,用于管理MapReduce应用或者其他类型的应用。
  • Hadoop YARN :YARN是由Hadoop 2.0引入的集群资源管理服务。
  • Kubernetes:Kubernetes是一种管理containerized的应用的服务。Spark 2.3以后引入了对Kubernetes的支持。

至于选择使用哪一种Cluster Manager,完全取决于生产环境以及业务场景,并没有绝对的优劣。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

精通Android游戏开发

精通Android游戏开发

[美] Vladimir Silva / 王恒、苏金国 等 / 人民邮电出版社 / 2011-2 / 45.00元

作为引领移动技术潮流的软件平台,Android发布了NDK以支持Java和C的混合开发,使PC游戏可以在Android平台上焕发更多魅力。 本书是为那些在Android游戏开发工作中寻求突破的人准备的。书中不仅通过Space Blaster和Asteroids这两个炫酷 的街机游戏深入介绍了如何从头构建纯Java游戏,更详细展示了如何将PC上的3D经典游戏Doom和Wolfenstein 3......一起来看看 《精通Android游戏开发》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器