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等。