什么是 YARN

2024年8月28日 | 1分钟阅读

Yet Another Resource Manager 将编程提升到 Java 以外的更高层次,并使其具有交互性,从而让另一个应用程序 Hbase、Spark 等在其上运行。不同的 Yarn 应用程序可以共存于同一个集群上,因此 MapReduce、Hbase、Spark 都可以同时运行,从而为可管理性和集群利用率带来巨大的好处。

YARN 的组件

  • 客户端: 用于提交 MapReduce 作业。
  • 资源管理器: 用于管理整个集群中的资源使用。
  • 节点管理器: 用于启动和监控集群中机器上的计算机容器。
  • Map Reduce 应用程序 Master: 检查运行 MapReduce 作业的任务。应用程序 Master 和 MapReduce 任务在由资源管理器调度并由节点管理器管理的容器中运行。

Jobtracker & Tasktrackerwere 在之前的 Hadoop 版本中使用,负责处理资源和检查进度管理。但是,Hadoop 2.0 具有资源管理器和 NodeManager,以克服 Jobtracker & Tasktracker 的不足。

YARN 的优点

  • 可扩展性: Map Reduce 1 在 4000 个节点和 40000 个任务时达到可扩展性瓶颈,但 Yarn 被设计用于 10,000 个节点和 10 万个任务。
  • 利用率: 节点管理器管理一个资源池,而不是固定数量的指定插槽,从而提高利用率。
  • 多租户: 不同版本的 MapReduce 可以在 YARN 上运行,这使得升级 MapReduce 的过程更易于管理。
下一个主题MapReduce