Hadoop基础教程
Hadoop概述
大数据的概念
Hadoop架构概览
搭建Hadoop开发环境
Hadoop核心组件
HDFS分布式文件系统
MapReduce编程模型
YARN资源管理器
Hadoop生态系统
Hadoop生态系统组件
数据导入与导出
Hadoop安全性
Hadoop高级特性与性能优化
Hadoop集群的监控与维护
Hadoop性能优化
Hadoop与其他技术的集成
实战案例
Hadoop日志分析案例
Hadoop推荐系统案例
-
+
首页
YARN资源管理器
### YARN架构 YARN(Yet Another Resource Negotiator)是Hadoop的资源管理和调度框架,其架构主要包括以下几个核心组件: 1. **ResourceManager (RM)**:作为集群的全局资源管理器,负责整个系统的资源管理和分配。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Applications Manager,AM)。 2. **NodeManager (NM)**:运行在每个集群节点上的代理服务,负责监控节点资源的使用情况,并与ResourceManager通信以报告节点的可用资源。 3. **ApplicationMaster (AM)**:每个应用程序在集群中启动时,都会有一个对应的ApplicationMaster被分配。ApplicationMaster负责与ResourceManager协商资源,并与NodeManager协调容器的启动、监控和状态报告。 4. **Container**:YARN中的资源抽象,用来封装运行应用程序所需的资源,如内存、CPU等。Container是YARN中资源分配的基本单位。 ### YARN的工作流程 YARN的工作流程大致如下: 1. **客户端提交作业**:用户编写客户端程序,向YARN提交应用程序,包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。 2. **ResourceManager处理请求**:ResourceManager接收客户端的请求,并在调度器的帮助下为应用程序分配一个容器。同时,ResourceManager的应用程序管理器会与该容器所在的NodeManager通信,为该应用程序在该容器中启动一个ApplicationMaster。 3. **ApplicationMaster注册和资源申请**:ApplicationMaster被创建后会首先向ResourceManager注册,然后采用轮询的方式通过RPC协议向ResourceManager申请资源。 4. **资源分配和任务执行**:ResourceManager以“容器”的形式向提出申请的ApplicationMaster分配资源,ApplicationMaster根据资源情况启动任务。 5. **监控和状态报告**:ApplicationMaster监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。 6. **作业完成**:当应用程序完成或失败时,ApplicationMaster通知ResourceManager释放已分配的资源。 ### YARN的调度器 YARN的调度器负责统筹集群资源,满足应用的资源需求。主要有以下几种调度器: 1. **FIFO Scheduler**:最简单的调度器,不支持多租户,所有应用都提交到Default队列,按照FIFO策略依次调度应用。 2. **Capacity Scheduler**:多用户调度器,将资源划分为多个队列,并为每个队列分配一定的资源。队列之间可以设置优先级和权重,以满足不同用户的需求。 3. **Fair Scheduler**:旨在为所有运行中的应用程序提供公平的资源分配。它根据应用程序的需求和运行时间动态调整资源分配,确保所有应用程序都能获得公平的资源。 调度器是YARN中非常关键的组件,它不仅需要优化整个集群的资源布局,还要协调好大量应用在集群的运行,解决资源竞争等问题。
wwbang
2024年12月25日 17:12
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码