MapReduce在hadoop-0.23版本中进行了完全的检查修改,并发展为了现在称之为的MapReduce2.0(MRv2)或者YARN。YARN的基本想法是将JobTracker的两个主要功能资源管理和作业调度监控分开为独立的后台进程,目标是拥有一个全局ResourceManager (RM)和每个应用程序一个的ApplicationMaster (AM)。一个应用程序或者是从经典MapReduce作业角度来看的一个单独作业,或者是这种作业的一个有向无环图(DAG)
ResourceManager和从节点的NodeManager(NM)组成了数据计算框架,ResourceManager是协调系统中所有应用程序之间资源的最终权威。事实上,ApplicationMaster是框架特定的类库,任务是从ResourceManager协调资源以及同NodeManager一起工作进行任务的执行和监控。下图为YARN的架构示意图。
 
ResourceManager有两个主要的组件:调度器(Scheduler)和应用程序管理器(ApplicationsManager)。
调度器负责在各种运行的,受制于计算机容量、队列等约束条件的应用程序之间分配资源。调度器在某种意义上是纯的调度器,因为它不监控或者跟踪应用程序的状态,并且不提供重启失败任务的保证,无论任务失败是由于应用程序还是硬件问题。调度器在应用程序对资源的需求基础上执行调度功能,这样做是基于resourceCont
                      
                            
                        
                            
                            
                          
                          
                            
                            
YARN是MapReduce在Hadoop-2.2.0中的进化,将JobTracker的资源管理和作业调度分离,形成ResourceManager和ApplicationMaster。ResourceManager是全局资源协调者,ApplicationMaster负责协调资源执行任务,NodeManager监控节点资源。调度器根据资源需求公平分配资源,支持CapacityScheduler和FairScheduler等策略。YARN保持与旧版API兼容,MapReduce作业无需修改即可运行。
          
                  
                订阅专栏 解锁全文
                
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
                    
              
            
                  
					3965
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
					
					
					


            