YARN 即 Yet Another Resource Negotiator,它是 Apache Hadoop 2.x 及后續版本中的集群資源管理系統,也是 Hadoop 生態系統的核心組件之一。
YARN 的誕生是為了解決 Hadoop 1.x 中 MapReduce 框架將資源管理和作業調度任務耦合在一起所帶來的可擴展性差等問題。它將資源管理和作業調度分離,提供了一個通用的資源管理平臺,可支持多種計算框架,比如 MapReduce、Spark、Storm 等。
YARN 主要由資源管理器(ResourceManager)、節點管理器(NodeManager)和應用程序管理器(ApplicationMaster)三個核心組件構成。資源管理器負責整個集群的資源分配和調度;節點管理器負責管理單個節點上的資源使用情況;應用程序管理器則負責每個具體應用程序的資源請求和任務調度。
借助 YARN,集群能夠更高效地利用資源,不同的計算框架可以共享集群資源,進而提升資源利用率和集群的整體性能。