概述
Spark是基于内存计算的大数据并行计算框架。因为其基于内存计算,比Hadoop中MapReduce计算框架具有更高的实时性,同时保证了高效容错性和可伸缩性。从2009年诞生于AMPLab到现在已经成为Apache顶级开源项目,并成功应用于商业集群中,学习Spark就需要了解其架构。
Spark架构图如下:
Spark架构使用了分布式计算中master-slave模型,master是集群中含有master进程的节点,slave是集群中含有worker进程的节点。
Driver Program :运⾏main函数并且新建SparkContext的程序。
Application:基于Spark的应用程序,包含了driver程序和集群上的executor。
Cluster Manager:指的是在集群上获取资源的外部服务。目前有三种类型
(1)Standalone:spark原生的资源管理,由Master负责资源的分配
(2)ApacheMesos:与hadoop MR兼容性良好的一种资源调度框架
(3)HadoopYarn: 主要是指Yarn中的ResourceManager
Worker Node: 集群中任何可以运行Application代码的节点,在Standalone模式中指的是通过slaves文件配置的Worker节点,在Spark on Yarn模式下就是NodeManager节点
Executor:是在一个worker node上为某应⽤启动的⼀个进程,该进程负责运行任务,并且负责将数据存在内存或者磁盘上。每个应⽤都有各自独立的executor。
Task :被送到某个executor上的工作单元。
最后
以上就是机智橘子为你收集整理的Spark角色介绍的全部内容,希望文章能够帮你解决Spark角色介绍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复