Spark核心组件

1、Driver

我们编写的Spark程序就在Driver上
Spark集群节点之一,就是你提交的Spark程序的机器

2、Master

Master是个进程
Master其实主要负责资源的调度和分配,还有集群的监控,等职责

3、Worker

Worker是个进程
主要是负责是2个:一个是用自己的内存,存储RDD的某个或者某些pardition。
另一个是启动其他进程和线程,对RDD上的Pardition进行版型的处理和计算

4、Executor

4、Task

Executor是一个进程
Executor和Task,其实就是还行负责,对RDD的Partition进行并行的计算
也就是执行我们对RDD定义的,比如:map,flatMap,reduce等算子操作

1:Driver程序启动后,会做一些初始化的操作,在这个过程中,就会发送请求到Master上,进行Spark应用程序的注册,说白了,就是让Master知道,有一个新的Spark程序要运行。

2:Master,在接收到了Spark应用程序的注册申请之后,会发送请求给Worker,进行资源的调度和分配。说白了,说穿了,资源分配就是Executor的分配。

3:Executor启动之后,会向Driver进行反注册,这样,Driver就知道,哪些Executor是为他进行服务的了。

4:Driver注册了一些Executor之后就可以开始正式执行我们的spark应用程序了。首先第一步就是,创建RDD,读取数据源(HDFS),然后HDFS文件被读取到多个worker节点中去,形成内存中的分布式数据集,也就是初始RDD。

5:Drvier会根据我们对RDD定义的操作,提交一大堆task去executor上。,Executor接收到task之后,会启动多个线程来执行task.

task就会对RDD的partition数据执行指定的算子操作,形成新的RDD的partition.

Spark---架构原理的更多相关文章

  1. Spark集群基础概念 与 spark架构原理

    一.Spark集群基础概念 将DAG划分为多个stage阶段,遵循以下原则: 1.将尽可能多的窄依赖关系的RDD划为同一个stage阶段. 2.当遇到shuffle操作,就意味着上一个stage阶段结 ...

  2. 4、wordcount程序原理剖析及Spark架构原理

    一.wordcount程序原理深度剖析 二.Spark架构原理 1.

  3. 小记---------spark架构原理&主要组件和进程

    spark的主要组件和进程       driver (进程):     我们编写的spark程序就在driver上,由driver进程执行       master(进程):     主要负责资源的 ...

  4. spark学习12(spark架构原理)

    spark采用的是主从式的架构,主节点叫master,从节点是worker Driver 我们编写的spark就在Driver上,由driver进程执行. Driver是spark集群的节点之一,或你 ...

  5. Spark架构原理

  6. 大数据体系概览Spark、Spark核心原理、架构原理、Spark特点

    大数据体系概览Spark.Spark核心原理.架构原理.Spark特点 大数据体系概览(Spark的地位) 什么是Spark? Spark整体架构 Spark的特点 Spark核心原理 Spark架构 ...

  7. 带你了解极具弹性的Spark架构的原理

    摘要:相比MapReduce僵化的Map与Reduce分阶段计算相比,Spark的计算框架更加富有弹性和灵活性,运行性能更佳. 本文分享自华为云社区<Spark架构原理>,作者:JavaE ...

  8. [Spark内核] 第38课:BlockManager架构原理、运行流程图和源码解密

    本课主题 BlockManager 运行實例 BlockManager 原理流程图 BlockManager 源码解析 引言 BlockManager 是管理整个Spark运行时的数据读写的,当然也包 ...

  9. 63、Spark Streaming:架构原理深度剖析

    一.架构原理深度剖析 StreamingContext初始化时,会创建一些内部的关键组件,DStreamGraph,ReceiverTracker,JobGenerator,JobScheduler, ...

  10. Spark架构与原理这一篇就够了

    一.基本介绍 是什么? 快速,通用,可扩展的分布式计算引擎. 弹性分布式数据集RDD RDD(Resilient Distributed Dataset)弹性分布式数据集,是Spark中最基本的数据( ...

随机推荐

  1. 并发编程(一): POSIX 使用互斥量和条件变量实现生产者/消费者问题

    boost的mutex,condition_variable非常好用.但是在Linux上,boost实际上做的是对pthread_mutex_t和pthread_cond_t的一系列的封装.因此通过对 ...

  2. LOV里的值直接引用系统里定义的值集的值,且具有值集的安全性控制

    fnd_flex_server.check_value_security(p_security_check_mode => 'YH', p_flex_value_set_id => p_f ...

  3. C#attribute-----------初级

    前言: attribute是 .net FrameWork 提出的技术,可以为自己的代码添加注解,从而实现些特殊功能. 一. attribute功能 attribute被译作特性,既然是特性,必然功能 ...

  4. spring struts2 ibatis 框架结构图

    spring struts2 ibatis 框架结构图

  5. xml作用以及语法

    2 XML作用 2.1 描述带关系的数据(软件的配置文件) web服务器(PC): 学生管理系统 -> 添加学生功能 -> 添加学生页面 -> name=eric&email ...

  6. Leetcode_27_Remove Element

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41577997 Remove Element Given a ...

  7. C语言的指针的基本语法

    这是我在C++编程的一本教科书偶然看到的,就当做一个查询的资料吧

  8. C#之流程控制语句

    通过一系列的学习,我们知道尽管计算机可以完成工作,但实质上这些工作都是按照我们事先编好的程序执行的,所以,程序是计算机的灵魂,计算机程序执行的控制流程由三种基本的控制结构控制,即顺序结构,选择结构,循 ...

  9. 2013 HTML5中国峰会演讲:Android上的HTML5:过去,现在和将来

    转载请注明原文地址:http://blog.csdn.net/milado_nju ## 会议链接(应用和工具专场) http://2013.html5dw.com/main, 2013年8月10日 ...

  10. 算法面试题-leetcode学习之旅(二)

    题目: Given a non-negative integer num, repeatedly add all its digits until the result has only one di ...