2018-07-22 Yarn的原理

原理的事情,以前我并没有认识到其重要性,现在突然想起的一句话:工具的使用,我知其然,但是不知其所以然,自然在遇到问题时,无法根本地解决问题

  • MR v1:
    编程模型:Map 阶段和 Reduce 阶段
    数据处理引擎:MapTask 和 ReduceTask
    运行时环境: JobTracker (资源管理与作业控制) 和 TaskTracker (接受JobTracker并具体来执行)
  • MR v2:
    编程模型以及数据处理引擎与MR v1是一样的。
    唯一不同的是运行环境:MR v2是运行于 Yarn 之上的 MapReduce 计算框架。YARN(资源管理与调度)和 ApplicationMaster(作业控制)

  • YARN
    集成了很多框架都需要的核心的功能,可以支持多种计算框架的资源管理器。

  • MR v1 的局限性:
    扩展性差(JobTracker 兼具资源管理与作业的调度,容易负载过大)
    可靠性差(Mater/Slave 架构中,Master的单点故障)
    资源利用率低(Slot资源分配模型)
    无法支持多种计算平台。
    HA的机制来保证机器来提供持续性稳定的服务。 离线处理框架和批处理,这种方式是无法满足真实的业务的。所以就应用而生的产生了流式处理和迭代次数非常多,对于内存要求比较高的计算任务,这个就是Storm 和 Spark。

你可能感兴趣的:(2018-07-22 Yarn的原理)