2011 发布1.0版本
2012 发布稳定版
tracker:追踪器,用于调度任务
job:一个任务
job tracker:资源调度、任务调度,导致性能慢
MR缺点:
mr基于数据集的计算,是面向数据。
1、基本运算规则从存储介质中获取数据,然后计算,最后将结果存储到介质中,主要应用于一次性计算,不适合迭代计算
2、mr基于文件存储介质操作,性能非常慢
3、mr和hadoop紧密耦合
2013.10月发布2.x版本(yarm)-为了降低耦合性
RM:资源管理器(管理NM)
NM:节点管理
AM:应用管理器,管理调度执行的任务(中间连接RM,driver)
driver:任务调度
yarm
资源不够后,driver给到AM信息,AM向RM申请资源,RM给到AM,AM给到driver
container:类似电脑的一台虚拟机,降低外部资源耦合性,占用一定的资源计算。
spark历史(scala)
2013.6月发布
spark基于hadoop 1.x的架构思想,采用自己的方式改善1.x的问题
apark基于内存,基于scala语言开发,适合迭代式计算,函数
spark内置模块
spark core ;独立调度器(spark自身);yarn;mesos(资源调度);spark sq,spark streaming,机器学习
spark特点
1、快,基于内存计算
2、易用:支持多API
3、通用:接不同的数据源(mysql,hbase)
4、兼容性:和其他开源产品进行融合
driver(驱动器)
驱动器执行开发程序的main方法的进程,主要负责:
1、用户程序转化为作业(job)
2、跟踪exector运行情况
3、执行器节点调度任务
4、UI展示应用运行情况
executor(执行器)
执行任务,互不影响
spark简单流程:
