yarn与第一代mapreduce比较,yarnmapreduce


jobtracker变成了ResourceManager和ApplicationMaster;

tasktraker变成了nodeManager


applicationMaster是一个可变更的部分,用户可以对不同的编程模型些自己的applicationMaster


有人说,大数据时代,最精髓的IT技术是Hadoop ,Yarn,Spark,详解?

  Hadoop
  它是一个分布式系统基础架构,由Apache基金会所开发。
  用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
  Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

  Yarn
  它是Hadoop2.0的升级版。
  Yarn 的优点:
  这个设计大大减小了 JobTracker(也就是现在的 ResourceManager)的资源消耗,并且让监测每一个 Job 子任务 (tasks) 状态的程序分布式化了,更安全、更优美。
  在新的 Yarn 中,ApplicationMaster 是一个可变更的部分,用户可以对不同的编程模型写自己的 AppMst,让更多类型的编程模型能够跑在 Hadoop 集群中,可以参考 hadoop Yarn 官方配置模板中的 mapred-site.xml 配置。
  对于资源的表示以内存为单位 ( 在目前版本的 Yarn 中,没有考虑 cpu 的占用 ),比之前以剩余 slot 数目更合理。
  老的框架中,JobTracker 一个很大的负担就是监控 job 下的 tasks 的运行状况,现在,这个部分就扔给 ApplicationMaster 做了,而 ResourceManager 中有一个模块叫做 ApplicationsMasters( 注意不是 ApplicationMaster),它是监测 ApplicationMaster 的运行状况,如果出问题,会将其在其他机器上重启。
  Container 是 Yarn 为了将来作资源隔离而提出的一个框架。这一点应该借鉴了 Mesos 的工作,目前是一个框架,仅仅提供 java 虚拟机内存的隔离 ,hadoop 团队的设计思路应该后续能支持更多的资源调度和控制 , 既然资源表示成内存量,那就没有了之前的 map slot/reduce slot 分开造成集群资源闲置的尴尬情况。

  Spark
  Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法。

他们三个其实也可以说Hadoop发展的几个阶段,目前Spark非常火,是用Scala语言写的。
 

hadoop yarn 是什

ARN是Apache的新引入的子系统,与MapReduce和HDFS并列,是一个资源管理系统,如果你了解MapReduce,那么可对比理解
YARN,它的基本设计思想是将MapReduce中的JobTracker拆分成了两个独立的服务:一个全局的资源管理器
ResourceManager和每个应用程序特有的ApplicationMaster。其中ResourceManager负责整个系统的资源管理和
分配,而ApplicationMaster则负责单个应用程序的管理。
来源:dongxicheng.org/...-view/
 

相关内容