Yarn 基本结构

Yarn(Yet Another Resource Negotiator)是 Apache Hadoop 2.x 的资源管理器,是一个可以提供分布式计算环境的框架。Yarn 架构由两个主要的组件组成:ResourceManager 和 NodeManager。

1、ResourceManager

ResourceManager 是 Yarn 框架中的核心组件,它负责调度应用程序的各个组件,并监控它们的运行情况。ResourceManager 运行在一台服务器上,它接收来自客户端的应用程序,并将它们分配给合适的 NodeManager 运行。它还负责监控 NodeManager 的状态,并在发现 NodeManager 出现故障时重新调度应用程序。

2、NodeManager

NodeManager 是 Yarn 框架中的另一个重要组件,它负责监控和管理每个节点上的资源,并将其分配给应用程序。NodeManager 运行在每个节点上,它接收来自 ResourceManager 的调度任务,并将其分配给应用程序。它还负责监控应用程序的运行情况,并将其反馈给 ResourceManager。

3、运行原理

Yarn 的运行原理如下:

  • 1、客户端将应用程序提交给 ResourceManager。
  • 2、ResourceManager 接收应用程序,并根据应用程序的资源要求,将其分配给合适的 NodeManager。
  • 3、NodeManager 接收分配的应用程序,并将其分配给节点上的应用程序容器。
  • 4、应用程序容器在节点上运行,并将运行结果反馈给 NodeManager。
  • 5、NodeManager 将应用程序的运行状态反馈给 ResourceManager。
  • 6、ResourceManager 将应用程序的运行状态反馈给客户端。

4、优势

Yarn 的优势在于它可以提供更加可靠、可扩展的分布式计算环境,并且可以支持多种类型的应用程序,比如 MapReduce、Spark、Hive 等。