Spark系统架构(Standalone模式)

Spark系统架构(Standalone模式)

local模式:本地运行模式,通常不是集群环境

Standalone模式:Spark本身支持的一种集群环境,一个主节点(master node),多个工作节点(worker node)

在这里插入图片描述

从上图可知,Standalone模式有如下组成部分:

Driver进程: 位于Master节点中,是指实际运行Spark应用中main()函数的进程,官方解释为“The process running the main() function of the application an creating the SparkContext”。Driver节点负责将逻辑处理流程翻译为物理执行计划,放入各个Task对象执行。(此处不清楚什么是逻辑处理流程什么是物理执行计划的话,可以简单理解为逻辑处理流程是程序员想要做的事,物理执行计划是计算机实现程序员想要做的事情的方法)

Executor对象:也称为Spark执行器,是Spark计算资源的一个单位。Executor在物理上是一个JVM进程,可以运行多个任务(task,任务是JVM中的一个线程)。Executor的创建是由Master节点决定的。Master节点接受到应用后首先会通知Worker节点启动Executor。Executor对象实质是存在于CoarseGrainedExecutorBackend进程中,起这么长的名字主要是为了防止命名冲突。

Task对象:即Spark应用的计算任务。Driver在运行Spark应用时,会将应用拆分为多个计算任务,然后分配给多个Executor执行。task是Spark中最小的计算单位,不能再拆分。task以线程的方式运行在Executor进程中,执行具体的计算任务,如map算子、reduce算子等。

Worker进程:每个Worker进程上存在一个或者多个ExecutorRunner对象。每个ExecutorRunner对象管理一个Executor。Executor持有一个线程池,每个线程执行一个task。Worker进程通过持有ExecutorRunner对象来控制CoarseGrainedExecutorBackend进程的启停。

相关知识问答:

1.Spark支持哪集中部署模式?

答:四种Local模式,Standalone模式,YARN部署模式和Mesos模式

2.Spark的Standalone部署模式和Hadoop MapReduce部署模式的区别?

答:两者基本相似,唯一的区别是Hadoop MapReduce部署模式为每个task启动一个JVM进程运行,而且是在task将要运行时启动JVM,而Spark是预先启动资源容器(Executor JVM),然后当需要执行task时再ExecutorJVM里启动task线程运行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值