1.背景介绍
Apache Hadoop YARN(Yet Another Resource Negotiator)是Hadoop 2.x版本中引入的全新的资源管理和任务调度架构,旨在解决Hadoop 1.x版本中存在的可伸缩性、集群利用率等问题。YARN将资源管理和作业调度/监控的功能从JobTracker一体化设计中分离出来,分别由全局的ResourceManager和每个节点的NodeManager组件承担。
NodeManager是每个节点上运行的资源管理组件,主要负责管理本节点上的资源(CPU、内存等),接收来自ResourceManager的命令,启动或停止容器(Container)运行任务。它是YARN中最核心的组件之一。
2.核心概念与联系
为了理解NodeManager的工作原理,我们需要先了解一些YARN中的核心概念:
Container: YARN中的资源抽象,封装了某些节点上的多个资源(如内存、CPU等)。应用程序将运行在容器之上。
Application Master: 为每个应用程序启动一个进程,负责向ResourceManager申请资源,并与NodeManager协调任务的运行。
Node Manager: 每个节点上的资源管理组件,接收来自ResourceManager的指令,启动或停止容器运行任务。
Resource Manager: 全局资源管理器,负责接收应用程序的资源申请,并为已经接受的应用程序分