本博文的主要内容如下:  1.通过案例观察Spark架构 2.手动绘制Spark内部架构 3.Spark Job的逻辑视图解析 4.Spark Job的物理视图解析 1.通过案例观察Spark架构 spark-shell中,默认情况下,没有任何的Job. 从Master角度讲:   1.管理CPU.MEM等资源(也考虑网络) 2.接收Driver端提交作业的请求,并为其分配资源(APPid等) 注:spark默认是粗粒度,即spark作业提交的时候就会为我们作业分配资源,后续运行的过程中一般使用…
细谈RDD的弹性  所谓,弹性,是指在内存不够时可以与磁盘进行交换. 弹性之一:自动的进行内存和磁盘数据存储的切换   弹性之二:基于Lineage(血缘)的高效容错   弹性之三:Task如果失败会自动进行特定次数的重试 弹性之四:Stage如果失败会自动进行特定次数的重试,而且只会计算失败的分片 弹性之五:checkpoint和persist Checkpoint是比较重量级的操作,RDD操作,一般每次都会产生新的RDD,除了最后一个action操作触发作业以外.但是有时候,链条比较长或者计…
常见的分布式文件系统有,GFS.HDFS.Lustre .Ceph .GridFS .mogileFS.TFS.FastDFS等.各自适用于不同的领域.它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务. Google学术论文,这是众多分布式文件系统的起源==================================Google File System(大规模分散文件系统)MapReduce (大规模分散FrameWork)BigTable(大规模分散数据库)Chubby(分…
HBase集群要求每个节点的时间必须同步.HBase对于节点的时间扭曲(time skew)容忍度很低(这和HDFS是不一样的). 这主要是因为HBase需要使用系统时间来产生时间戳.如果系统时间不同步的话,那么每个节点产生的时间戳差异就会比较大,这就违背了时间戳设计的初衷. HBase对于节点间的时间扭曲的容忍度在秒级,即如果HBase发现节点间的时间差异已经有几十秒时会拒绝启动.节点间时间同步的方法是建立NTP服务器,然后让所有的节点和NTP服务器同步. hadoop-2.6.0.tar.g…
本博文主要内容:  1.再次思考pipeline 2.窄依赖物理执行内幕 3.宽依赖物理执行内幕 4.Job提交流程 一:再次思考pipeline 即使采用pipeline的方式,函数f对依赖的RDD中的数据的操作也会有2种方式: 1:f(record), f作用于集合的每一条记录,每次只作用于一条记录. 2.f(redord), f一次性作用于集合的全部数据. Spark采用的是第一种方式,原因: 1.spark无需等待,可以最大化的使用集群计算资源. 2.减少OOM的发生 3.最大化的有利于…
打好基础,别小瞧它! spark的运行模式多种多样,在单机上既可以本地模式运行,也可以伪分布模式运行.而当以分布式的方式在集群中运行时.底层的资源调度可以使用Mesos或者Yarn,也可使用spark自带的Standalone模式. 1.Application : Application的概念和Hadoop MapReduce中的类似,都是用户编写的Spark应用程序,其中包含了一个Driver功能的代码和分布在集群中多个节点上运行的Executor代码. 2.Driver : 使用Driver…
不多说,直接上干货! Spark 同时支持Scala.Python.Java 三种应用程序API编程接口和编程方式, 考虑到大数据处理的特性,一般会优先使用Scala进行编程,其次是Python,最后才是Java. 无论使用Scala.Python还是Java编程程序都需要遵循Spark 编程模型,考虑对Spark平台支持的有力程度来说,Spark 对Scala语言的支持是最好的,因为它有最丰富的和最易用的编程接口. Spark 多语言编程的简介 Spark 目前支持Scala.Python.J…
编者的话 |本文来自 Nginx 官方博客,是微服务系列文章的第三篇,在第一篇文章中介绍了微服务架构模式,与单体模式进行了比较,并且讨论了使用微服务架构的优缺点.第二篇描述了采用微服务架构的应用客户端之间如何采用 API 网关方式进行通信.在这篇文章中,我们将讨论系统服务之间是如何实现通信的. 作者介绍:Chris Richardson,是世界著名的软件大师,经典技术著作<POJOS IN ACTION>一书的作者,也是 cloudfoundry.com 最初的创始人,Chris Richar…
本博文的主要内容如下: 1.通过案例观察Spark架构 2.手动绘制Spark内部架构 3.Spark Job的逻辑视图解析 4.Spark Job的物理视图解析 1.通过案例观察Spark架构 spark-shell中,默认情况下,没有任何的Job. 从Master角度讲:   1.管理CPU.MEM等资源(也考虑网络) 2.接收Driver端提交作业的请求,并为其分配资源(APPid等) 注:spark默认是粗粒度,即spark作业提交的时候就会为我们作业分配资源,后续运行的过程中一般使用已…
Spark存储管理机制 概要 01 存储管理概述 02 RDD持久化 03 Shuffle数据存储 04 广播变量与累加器 01 存储管理概述 思考: RDD,我们可以直接使用而无须关心它的实现细节,RDD是Spark的基础,但是有个问题大家也许会比较关心:RDD所操作的数据究竟在哪里?它是如何存储的. 回顾: 1.1 .存储管理模块架构—从架构上来看   1.1.1     通信层 通信层面采用主从方式实现通信(主从节点间互换消息) 1.1.2 存储层 存储层负责提供接口来存储数据(可把数据存…