理论教育 Yarn基本框架与组件详解

Yarn基本框架与组件详解

时间:2023-06-14 理论教育 版权反馈
【摘要】:Yarn 主要由以下几个组件组成:ResourceManager,NodeManager,Container 和ApplicationMaster。它主要由两个组件构成:调度器和应用程序管理器。Scheduler调度器根据应用程序的资源需求进行资源分配,不参与应用程序具体的执行和监控等工作。Yarn 本身提供了多种直接可用的调度器,比如FIFO,Fair Scheduler 和Capacity Scheduler 等。它主要负责向ResourceManager 申请执行任务的资源容器,运行任务,监控整个任务的执行,跟踪整个任务的状态,处理任务失败等异常情况。

Yarn基本框架与组件详解

Yarn 主要由以下几个组件组成:ResourceManager,NodeManager,Container 和ApplicationMaster。

1. ResourceManager

ResourceManager 是Yarn 集群的主控节点,负责协调和管理整个集群(所有NodeManager)的资源,响应用户提交的不同类型应用程序的解析,调度,监控等工作。

ResourceManager 会为每一个Application 启动一个ApplicationMaster。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(ApplicationsManager,ASM)。

(1)Scheduler

调度器根据应用程序的资源需求进行资源分配,不参与应用程序具体的执行和监控等工作。调度器是一个可插拔的组件,用户可以根据自己的需求实现自己的调度器。Yarn 本身提供了多种直接可用的调度器,比如FIFO,Fair Scheduler 和Capacity Scheduler 等。

(2)ApplicationsManager(www.daowen.com)

应用程序管理器ASM 负责管理整个Yarn 中所有的应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster 运行状态并在失败时重新启动它等。

2. NodeManager

NodeManager 是Yarn 集群的从节点。它是Yarn 集群当中资源的提供者,也是真正执行应用程序的容器(Container)的提供者。NodeManager 负责接收ResourceManager 的资源分配请求,监控应用程序的资源使用情况(CPU,内存,硬盘,网络),并通过心跳向集群资源调度器ResourceManager 进行汇报Container 使用信息,通过和ResourceManager 配合,负责整个Hadoop 集群中的资源分配工作。

3. ApplicationMaster

ApplicationMaster 是应用级别的,一个ApplicationMaster 对应一个应用程序。它主要负责向ResourceManager 申请执行任务的资源容器,运行任务,监控整个任务的执行,跟踪整个任务的状态,处理任务失败等异常情况。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈