YARN
yet another resource negotiator缩写YARN
基本思想:将JobTracker两个主要功能(资源管理和作业调度/监控)分成两个独立进程。
两个组件:全局ResourceManager和与每个应用相关的ApplicationMaster。ResourceManager和NodeManager(每个节点一个)共同组成整个数据计算框架。
ResourceManager是系统中将资源分配给各个应用的最终决策者。ApplicationMaster是一个具体框架库,它的任务是与ResourceManager协商获取所需资源,与NodeManager合作完成执行和监控任务。
YARN特性:可扩展性、可用性、兼容性、集群利用率、支持map reduce编程范式。
可扩展——JobTracker完成太多任务,造成过多资源消耗,当map reduce job非常多时,内存开销大,jobTracker压力大,失败风险大。hadoop map reduce的JobTracker花费很大一部分时间和精力管理应用程序的生命周期,导致其扩展性差,YARN来解决。
可用性(HA)——JobTracker是Map reduce的集中处理点,存在单点故障。有一种解决HA的方法是使用ZooKeeper用于故障转移,这是使用共享存储将集群状态保存在ZooKeeper中,当资源管理器失败,另一个马上恢复。
兼容性——YARN使用线兼容协议以允许不同版本的服务端和客户端相互通信,和VI版本内核是完全相同的,不同之处仅在于编程接口的定义,在VI版本运行的job可正常运行于YARN上。
集群利用率——在TaskTracker端,把资源强制划分为map task slot和reduce task slot,若系统中只有map task或者reduce task造成资源浪费;YARN的资源管理器使用通用的概念,分配给应用程序基于应用指定需求资源的容器,每个容器包括一些处理器,与其他容器逻辑隔离,提供强有利的多租户支持,解决资源浪费问题。
支持map reduce编程范式——YARN提供一个完全通用的计算框架以支持map reduce和其他范例,架构允许终端用户实现应用指定框架,通过实现用户的ApplicationMaster,可以向资源管理器请求资源。YARN可以轻松接入当前流行的组件Spark,Storm。
yet another resource negotiator缩写YARN
基本思想:将JobTracker两个主要功能(资源管理和作业调度/监控)分成两个独立进程。
两个组件:全局ResourceManager和与每个应用相关的ApplicationMaster。ResourceManager和NodeManager(每个节点一个)共同组成整个数据计算框架。
ResourceManager是系统中将资源分配给各个应用的最终决策者。ApplicationMaster是一个具体框架库,它的任务是与ResourceManager协商获取所需资源,与NodeManager合作完成执行和监控任务。
YARN特性:可扩展性、可用性、兼容性、集群利用率、支持map reduce编程范式。
可扩展——JobTracker完成太多任务,造成过多资源消耗,当map reduce job非常多时,内存开销大,jobTracker压力大,失败风险大。hadoop map reduce的JobTracker花费很大一部分时间和精力管理应用程序的生命周期,导致其扩展性差,YARN来解决。
可用性(HA)——JobTracker是Map reduce的集中处理点,存在单点故障。有一种解决HA的方法是使用ZooKeeper用于故障转移,这是使用共享存储将集群状态保存在ZooKeeper中,当资源管理器失败,另一个马上恢复。
兼容性——YARN使用线兼容协议以允许不同版本的服务端和客户端相互通信,和VI版本内核是完全相同的,不同之处仅在于编程接口的定义,在VI版本运行的job可正常运行于YARN上。
集群利用率——在TaskTracker端,把资源强制划分为map task slot和reduce task slot,若系统中只有map task或者reduce task造成资源浪费;YARN的资源管理器使用通用的概念,分配给应用程序基于应用指定需求资源的容器,每个容器包括一些处理器,与其他容器逻辑隔离,提供强有利的多租户支持,解决资源浪费问题。
支持map reduce编程范式——YARN提供一个完全通用的计算框架以支持map reduce和其他范例,架构允许终端用户实现应用指定框架,通过实现用户的ApplicationMaster,可以向资源管理器请求资源。YARN可以轻松接入当前流行的组件Spark,Storm。