文章目录
Yarn简介
Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是Hadoop资源管理器,它是一个通用资源管理系统和调度平台,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
Yarn负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。
Yarn产生的原因
Yarn是在hadoop2.0之后的版本才加入进hadoop的,hadoop1.0的各版本中是没有Yarn的,在hadoop1.0的各版本中,资源分配与工作调度这些任务是由MapReduce来完成的,在实际使用过程中,MapReduce即负责逻辑运算又要负责资源调度,开发人员非常的不方便,程序运行效率也很低。所以在hadoop2.0中开发人员加入了Yarn这一组件专门负责资源管理和调度,Yarn的加入让hadoop更加的完善。现在Yarn已经变成了hadoop中必不可少的组件之一。

Yarn架构
Yarn主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成,下图是Yarn的架构图:

ResourceManager
ResourceManager是一个全局的资源管理器,集群里只有一个,为整个集群管理和分配资源。ResourceManager主要负责处理客户端请求、启动和监控ApplicationMaster、监控NodeManager、资源的分配与调度。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Applications Manager)。
ApplicationMaster
ApplicationMaster负责管理Yarn内运行的应用程序的每个实例。ApplicationMaster的主要任务是进行数据切分、为应用程序申请资源并进一步分配给内部任务,同时它还有任务监控与容错的功能,可以协调来自ResourceManager的资源,并通过NodeManager监视任务的执行和资源使用情况。
NodeManager
在hadoop集群中,每个节点上有一个Nodemanager,Nodemana

Apache Hadoop YARN 是一种资源管理系统,负责集群资源管理和调度。Yarn由ResourceManager、ApplicationMaster、NodeManager和Container组成,提供统一的资源管理和调度。Yarn的资源调度器包括FIFO、Capacity Scheduler和Fair Scheduler。此外,Yarn还具有任务的推测执行机制,用于优化慢速任务的执行。
最低0.47元/天 解锁文章

887

被折叠的 条评论
为什么被折叠?



