大数据开发学习之Spark系统架构解读

在大数据技术的学习当中,Hadoop和Spark是重中之重的两个部分,关于Hadoop,之前我们已经介绍过很多了,今天的主题是Spark。作为继Hadoop之后的又一代计算框架,Spark受到重用也是有原因的。今天的大数据开发学习分享,我们来对Spark系统架构做一个详细的介绍。
 

大数据开发学习之Spark系统架构解读_第1张图片


Spark性能优势的原因

Spark是UC Berkeley AMP lab所开源的类HadoopMapReduce的通用并行框架,专门用于大数据量下的迭代式计算。本质上来说,Spark是为了跟Hadoop配合而开发出来的,不是为了取代Hadoop。

Spark运算比Hadoop的MapReduce框架快的原因是因为Hadoop在一次MapReduce运算之后,会将数据的运算结果从内存写入到磁盘中,第二次Mapredue运算时在从磁盘中读取数据,所以其瓶颈在2次运算间的多余IO消耗.

Spark则是将数据一直缓存在内存中,直到计算得到最后的结果,再将结果写入到磁盘,所以多次运算的情况下,Spark是比较快的.其优化了迭代式工作负载。

Spark系统架构

整个Spark集群中,分为Master节点与worker节点,,其中Master节点上常驻Master守护进程和Driver进程,Master负责将串行任务变成可并行执行的任务集Tasks,同时还负责出错问题处理等,而Worker节点上常驻Worker守护进程,Master节点与Worker节点分工不同,Master负载管理全部的Worker节点,而Worker节点负责执行任务。

Driver的功能是创建SparkContext,负责执行用户写的Application的main函数进程,Application就是用户写的程序。Spark支持不同的运行模式,包括Local,Standalone,Mesoses,Yarn模式.不同的模式可能会将Driver调度到不同的节点上执行.集群管理模式里,local一般用于本地调试。

每个Worker上存在一个或多个Executor进程,该对象拥有一个线程池,每个线程负责一个Task任务的执行.根据Executor上CPU-core的数量,其每个时间可以并行多个跟core一样数量的Task。Task任务即为具体执行的Spark程序的任务。

关于大数据开发学习,Spark系统架构,以上就给大家做了一个简单的介绍了。在大数据技术框架当中,Spark至今仍然占据庞大的市场,学习大数据,Spark是必须掌握的重点内容之一。

你可能感兴趣的:(大数据,大数据,spark,storm)