vlambda博客
学习文章列表

YARN(Yet Another Resource Negotiator另一种资源协调者)

YARN是一个资源管理、任务调度的框架。作为Apache Hadoop 的核心组件之一,负责将系统资源分配给在 Hadoop 集群中运行的各种应用程序,并调度要在不同集群节点上执行的任务。YARN相当于一个分布式的操作系统平台, MapReduce 等运算程序相当于运行于操作系统之上的应用程序。

 

YARN上可以运行各种类型的分布式运算程序,比如mapreducestormsparktez YARN 并不清楚用户提交的程序的运行机制,只提供运算资源的调度。用户程序向 YARN 申请资源,YARN 就负责分配资源。

 

 

包含三大模块:

ResourceManager RM):负责所有资源的监控、分配和管理。

ApplicationMaster AM)负责每一个具体应用程序的调度和协调。

NodeManagerAM 负责具体提供运算资源。

对于所有的 applicationsRM 拥有绝对的控制权和对资源的分配权。而每个 AM 则会和RM 协商资源,同时和 NodeManager 通信来执行和监控 task

 

它的引入为集群在利用率、资源统一管理和数据共享等方面带来了好处。