RMNode是ResourceManager中用于维护一个节点生命周期的数据结构,它的实现是RMNodeImpl,该类维护了一个节点状态机,记录了节点可能存在的各个状态以及导致状态间转换的事件,本文介绍了该状态机。

本文汇总了目前正在进行中的一些尝试将系统运行在YARN上的项目,这些项目涉及分布式领域各个方面的系统,包括离线处理、在线计算、图算法、迭代式算法等,从这些项目可以看出来,在将来,YARN将变成一个轻量级的IAAS层,统一管理和调度各种系统,进而逐步实现所谓的“大集群理念”。

RMApp是ResourceManager中用于维护一个Application生命周期的数据结构,它的实现是RMAppImpl,该类维护了一个Application状态机,记录了一个Application可能存在的各个状态以及导致状态间转换的事件,本文介绍了该状态机。

在YARN中,资源调度器(ResourceScheduler)是一个非常核心的部件,它负责将各个节点上的资源封装成container,并按照一定的约束条件(按队列分配,每个队列有一定的资源分配上限等)分配给各个application。本文介绍了YARN资源调度器。

Capacity Scheduler和Fair Scheduler是Hadoop中最著名的两个多用户资源调度器,下面就这两个调度器的几个重大特性进行介绍(支持层次队列组织方式、支持资源抢占和支持多类别资源调度)。

在最初的实现中,YARN采用的资源抢占策略非常野蛮,在事先不告诉应用程序主管的情况下,强制杀死它的弟兄(任务),很显然,各个应用程序主管会非常的不满,这也有损YARN资源管理的形象,随着Hadoop生态系统的完善,当然不希望这种不和谐的场面出现,于是更友好地资源抢占策略提上了日程,本文介绍了新YARN新的抢占策略。

在YARN中,当ResourceManager探测到ApplicationMaster运行失败后,会尝试在另外一个节点上重新启动它,通常而言,ApplicationMaster重启后,会恢复之前的运行状态。而本文介绍的这个特性则是如何指定每个应用程序ApplicationMaster的重试次数。

近些年来Hadoop生态系统发展迅猛,它本身包含的软件越来越多,同时带动了周边系统的繁荣发展。尤其是在分布式计算这一领域,系统繁多纷杂,时不时冒出一个系统,号称自己比MapReduce或者Hive高效几十倍,几百倍。有一些无知的人,总是跟着瞎起哄,说Impala将取代Hive,Spark将取代Hadoop MapReduce等。本文则从问题域触发,解释说明Hadoop中每个系统独特的作用/魅力以及它们的不可替代性。