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简单流程: