YARN的区别

来源:互联网 发布:淘宝买东西寄到英国 编辑:程序博客网 时间:2024/05/17 10:29

因为日益增长的数据规模,导致了mapreduce1.x的局限性开始凸显,编程模型和资源管理过于密集,迫使开发者滥用mapreduce编程模型,并且中心化的控制也影响了系统的可扩展性;,所以Arun设计了handoop 2.x架构来修复mapreduce1.x的局限性;

  增强了可扩展性:1.x中,jobtracker同时负责资源管理和作业控制,YARN则分成两个独立的程序即全局资源管理(ResourceManager)和针对每个应用的应用Master(ApplicationMaster)

同时YARN还支持不同的编程模型如Spark,Storm,Tez等;

可靠性:JobTracker和HDFS的namenode存在单点故障,以YARN为资源管理系统使得hadoop不再局限于MapReduce计算,而支持多样化的计算框架,提高了计算能力的可靠性;

资源利用率:hadoop1.x中资源管理是由资源表示模型和资源分配模型组成,采用了基于槽位(Slot)的粗粒度资源划分,这种划分过于粗糙,而且资源之间的隔离是靠JVM的隔离机制;这种机制还不是真正的资源隔离,所以会导致同一节点上的任务之间严重并造成资源浪费;而YARN是靠ResourceManager和NodeManager共同完成资源管理;其中ResourceManager中的调度器负责资源的分配;NodeManager负责资源的攻击和隔离,资源的分配不再基于slot的粗粒度划分,而是直接让任务直接向调度器申请自己所需要的资源,提高了资源的利用率;NodeManager按照需求为任务模块提供相应的资源并保证资源的独占,为任务运行提供基本保证,提供隔离;

原创粉丝点击