Spark Core(五)Spark粗粒度的架构原理

  1. ClusterManager:
    1. Standlone模式中,ClusterManagerMaster。在Yarn模式中就是ResourceManage资源管理器。
  2. Worker:
    1. 从节点,在Standlone模式中就是一个Worker节点,在Yarn模式中就是NodeManager,负责具体的任务,启动Executor或者Driver
  3. Driver:首先Driver是一个Spark节点中的一个驱动进程,它是负责执行我们开发代码中的main函数的一个进程,它负责执行开发人员编写的代码,根据代码来创建SparkContext、创建RDD,以及进行RDD的转化和算子操作。如果我们用的是spark shell,那么我们在启动命令的时候,驱动器就会自动为我们创建一个SparkContext对象,如果我们的spark shell终止了,那么Spark应用也就结束了。
    1. Driverspark作业中的作用
      1. 把用户编写的程序转换成任务Driver程序负责把用户的程序转换成多个物理执行单元,这些单元也称之为任务(Task),Task是spark中执行的最小单元spark程序流程其实就是:创建SparkContext、创建RDD、转换RDD、执行转换或者算子操作、结果入库,然后spark会把上述操作流程转换成一个有向无环图(DAG),也就是逻辑执行计划Spark会对逻辑执行计划进行优化,将多个Task合并成一系列的执行步骤(Stage),所以Stage是由多个Task组成的。这些Stage会被发送到集群上执行)。当Driver运行的时候,它会把这个逻辑图转换成物理执行计划。
      2. 跟踪Executor的运行状况有了物理执行计划以后,那么Driver就会协各个节点上的Executor资源情况,当Executor启动以后,Driver会接受Executor的反向注册,那么Driver就可以监控Executor的运行情况了。
  4. Executor:
    1. 执行器,为应用提供运行在Worker节点上的进程,然后启动线程池。每个应用程序都有独立的一组Executor
  5. SparkContext:
    1. Spark应用程序的上下文,控制着整个程序的声明周期。
  6. RDD
    1. Spark基本的计算单元,一种抽象的数据结构。弹性分布式数据集,是一种内存抽象,可以理解为一个大数组,数组的元素是RDD的分区Partition,分布在集群上;在物理数据存储上,RDD的每一个Partition对应的就是一个数据块Block,Block可以存储在内存中,当内存不够时可以存储在磁盘上
  7. DAG Scheduler:
    1. 根据Job狗将Stage,封装成TaskSet提交给TaskScheduler
  8. TaskScheduler:
    1. 它是一个进程
    2. Task分发到Executor中,并接受Executor的注册,监控Executor情况。
  9. 结构图与执行流程:
    这里写图片描述
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值