Spark---架构原理
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---架构原理的更多相关文章
- Spark集群基础概念 与 spark架构原理
一.Spark集群基础概念 将DAG划分为多个stage阶段,遵循以下原则: 1.将尽可能多的窄依赖关系的RDD划为同一个stage阶段. 2.当遇到shuffle操作,就意味着上一个stage阶段结 ...
- 4、wordcount程序原理剖析及Spark架构原理
一.wordcount程序原理深度剖析 二.Spark架构原理 1.
- 小记---------spark架构原理&主要组件和进程
spark的主要组件和进程 driver (进程): 我们编写的spark程序就在driver上,由driver进程执行 master(进程): 主要负责资源的 ...
- spark学习12(spark架构原理)
spark采用的是主从式的架构,主节点叫master,从节点是worker Driver 我们编写的spark就在Driver上,由driver进程执行. Driver是spark集群的节点之一,或你 ...
- Spark架构原理
- 大数据体系概览Spark、Spark核心原理、架构原理、Spark特点
大数据体系概览Spark.Spark核心原理.架构原理.Spark特点 大数据体系概览(Spark的地位) 什么是Spark? Spark整体架构 Spark的特点 Spark核心原理 Spark架构 ...
- 带你了解极具弹性的Spark架构的原理
摘要:相比MapReduce僵化的Map与Reduce分阶段计算相比,Spark的计算框架更加富有弹性和灵活性,运行性能更佳. 本文分享自华为云社区<Spark架构原理>,作者:JavaE ...
- [Spark内核] 第38课:BlockManager架构原理、运行流程图和源码解密
本课主题 BlockManager 运行實例 BlockManager 原理流程图 BlockManager 源码解析 引言 BlockManager 是管理整个Spark运行时的数据读写的,当然也包 ...
- 63、Spark Streaming:架构原理深度剖析
一.架构原理深度剖析 StreamingContext初始化时,会创建一些内部的关键组件,DStreamGraph,ReceiverTracker,JobGenerator,JobScheduler, ...
- Spark架构与原理这一篇就够了
一.基本介绍 是什么? 快速,通用,可扩展的分布式计算引擎. 弹性分布式数据集RDD RDD(Resilient Distributed Dataset)弹性分布式数据集,是Spark中最基本的数据( ...
随机推荐
- TCP的定时器系列 — SYNACK定时器
主要内容:SYNACK定时器的实现,TCP_DEFER_ACCPET选项的实现. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd 在上一篇博客中,已经连带 ...
- Mahout推荐算法之ItemBased
Mahout推荐之ItemBased 一. 算法原理 (一) 基本原理 如下图评分矩阵所示:行为user,列为item. 图(1) 该算法的原理: 1. 计算Item之间的相似度. 2. ...
- 【Linux命令】netcat 网络工具的瑞士军刀
netcat被成为网络工具中的瑞士军刀,之前也没怎么用过,挺惭愧的,那么现在来看看怎么用吧. udp 和 tcp协议都比较好使,至少在测udp的时候,使用telnet感觉很无力呀.(nc 和 netc ...
- 敏捷测试(6)--基于story的敏捷基础知识
基于story的敏捷基础知识----需求管理(三) (3)每日站会 站会的目的有三个: (1)周知进度 仅从用户故事和任务的层面周知进度,任务进度只有两种状态:完成或未完成(完成百分比). (2)周知 ...
- Intellij Idea配置提高速度
主要介绍一下Intellij Idea的关于速度和最大最大方法数目 提高速度 1.命令: 2.找到./Library/Preferences/IntelliJIdea2016.1/idea.vmopt ...
- apache tomcat集群
今天花了大概两个小时完成了tomcat与apache的集群.现记录一下,也希望能帮助后来者. 建议看这篇博客前,先阅读一下鄙人拙作 tomcat整合apache 看完那个后,再进行集群,就很快了. 和 ...
- Android SDK下载失败的解决方法
Android SDK下载失败的解决方法 图1 在下载过程中,Android SDK Manager Log中出现下面出错信息: Preparing toinstall archives Downlo ...
- SpriteBuilder中如何平均拉伸精灵帧动画的距离
首先要在Timeline中选中所有的精灵帧,可以通过如下2种的任意一种办法达成: 1按下Shift键的同时鼠标单击它们 2鼠标在Timeline空白区拖拽直到拉出的矩形包围住所有精灵帧方块后放开鼠标. ...
- Java进阶(五十二)利用LOG4J生成服务日志
Java进阶(五十二)利用LOG4J生成服务日志 前言 由于论文写作需求,需要进行流程挖掘.前提是需要有真实的事件日志数据.真实的事件日志数据可以用来发现.监控和提升业务流程. 为了获得真实的事件日志 ...
- ADF BC New Features
Examining ADF Business Components New Features Purpose In this tutorial, you create a series of si ...