yarn的定义
YARN 即 Yet Another Resource Negotiator,它是 Apache Hadoop 2.x 及后续版本中的集群资源管理系统,也是 Hadoop 生态系统的核心组件之一。
YARN 的诞生是为了解决 Hadoop 1.x 中 MapReduce 框架将资源管理和作业调度任务耦合在一起所带来的可扩展性差等问题。它将资源管理和作业调度分离,提供了一个通用的资源管理平台,可支持多种计算框架,比如 MapReduce、Spark、Storm 等。
YARN 主要由资源管理器(ResourceManager)、节点管理器(NodeManager)和应用程序管理器(ApplicationMaster)三个核心组件构成。资源管理器负责整个集群的资源分配和调度;节点管理器负责管理单个节点上的资源使用情况;应用程序管理器则负责每个具体应用程序的资源请求和任务调度。
借助 YARN,集群能够更高效地利用资源,不同的计算框架可以共享集群资源,进而提升资源利用率和集群的整体性能。