Apache Hadoop YARN(Yet Another Resource Negotiator)是Hadoop中的资源管理系统,负责有效管理和调度集群的计算资源。YARN的工作机制在Hadoop 2.x版本中引入,克服早期Hadoop 1.x中MapReduce模型的局限性,特别是单一JobTracker的性能瓶颈。以下是对YARN工作机制的详细解析: 1. 应用程序提交:当需要执行MapReduce作业(例如wc.jar)时,客户端向ResourceManager(RM)请求一个Application。RM作为YARN架构的中心协调者,负责全局资源的分配和管理。 2. 资源路径返回:RM响应客户端请求,返回应用程序所需的资源路径,例如JAR文件和配置文件,客户端将其上传到HDFS(Hadoop分布式文件系统)。 3. 资源提交:客户端将所有必要的资源提交到HDFS,确保集群中所有节点可以访问这些资源。这一步骤保证了执行作业所需的数据可用性。 4. 申请MRAppMaster:提交完成后,客户端通过RM申请运行一个MRAppMaster。MRAppMaster作为MapReduce作业的控制器,负责作业的调度和监控。 5. 任务调度:RM为MRAppMaster分配一个Container,Container是YARN中的资源抽象,包括CPU、内存等。MRAppMaster在分配的Container中启动,并与RM交互,请求Task的执行资源。 6. 任务分配:MRAppMaster根据作业配置,将任务分为多个MapTask和ReduceTask,并将它们放入调度队列。 7-11. MapTask执行:MRAppMaster向RM请求MapTask运行所需的Container。RM选择适当的NodeManager(NM)分配Container,NM负责在本地启动容器并下载作业资源。然后,YARNChild进程在Container中执行MapTask。 12-13. ReduceTask执行:所有MapTask完成后,MRAppMaster向RM请求运行ReduceTask所需的Container。RM再次选择合适的NM分配Container,NM启动容器并下载ReduceTask所需的资源。然后,YARNChild进程在Container中执行ReduceTask。
Apache Hadoop YARN的工作原理
相关推荐
Apache Hadoop YARN的全新版本(英文)
YARN是Hadoop集群的资源管理系统。Hadoop2.0对MapReduce框架进行了彻底的设计重构,我们称Hadoop2.0中的MapReduce为MRv2或Yarn。
Hadoop
2
2024-07-16
Yarn工作流程
Yarn 工作流程图解
这张流程图详细展示了 Yarn 处理应用程序请求的步骤:
客户端提交应用程序: 用户向 Yarn 资源管理器提交应用程序,请求分配资源。
资源管理器接收请求: 资源管理器接收应用程序请求,并为其分配一个 Application Master。
启动 Application Master: 资源管理器在一个节点上启动 Application Master 容器。
Application Master 请求资源: Application Master 向资源管理器申请运行任务所需的资源(容器)。
资源管理器分配资源: 资源管理器根据资源情况和调度策略,为 Application Master 分配资源。
Application Master 启动任务: Application Master 在分配的容器中启动任务。
任务运行: 任务在容器中执行用户代码,并与 Application Master 通信汇报进度和状态。
任务完成: 任务完成后,Application Master 向资源管理器注销,释放资源。
Hadoop
3
2024-05-23
深入解析YARN工作机制
YARN(Yet Another Resource Negotiator)是Hadoop 2.0中重要的资源管理系统,YARN的工作机制在于将资源管理与任务调度分离,使得Hadoop的计算框架能够支持不同的应用程序。YARN的架构主要由ResourceManager、NodeManager、ApplicationMaster和Container组成。
ResourceManager:负责整个集群的资源管理与分配,它接受应用程序提交的资源请求并进行资源的协调和分配。ResourceManager中有两个关键组件:- Scheduler:仅负责资源分配,而不负责监控应用程序的状态和进程。- ApplicationManager:负责应用程序的启动和生命周期管理。
NodeManager:NodeManager是每个节点上运行的代理程序,负责管理单个节点的资源,并监控每个Container的资源使用情况。它定期向ResourceManager发送心跳报告。
ApplicationMaster:每个应用程序会拥有一个ApplicationMaster,它负责管理该应用程序的生命周期,分配资源并与NodeManager协调任务的执行。
Container:Container是YARN中的最小资源分配单位,YARN的工作机制中,任务被打包成多个Container,由NodeManager分配至集群中的各节点并执行。
YARN的工作机制流程:1. 用户向ResourceManager提交应用。2. ResourceManager分配一个Container用于启动ApplicationMaster。3. ApplicationMaster向ResourceManager申请任务所需资源。4. ResourceManager将资源分配给ApplicationMaster。5. ApplicationMaster协调NodeManager在Container中执行任务。6. NodeManager监控Container的资源使用情况,保证任务顺利执行。
Hadoop
0
2024-10-28
Hadoop-Apache Hive语法与原理
用户表数据
Hadoop
2
2024-05-15
Hadoop技术内幕探索Yarn架构设计与实施原理
《Hadoop技术内幕:深入Yarn架构设计与实现原理》这本书详细研究了Hadoop生态系统中的核心组件YARN(Yet Another Resource Negotiator)。YARN作为Hadoop 2.x版本的重要改进,专注于解决早期Hadoop MapReduce的资源管理和调度问题,为大数据处理提供了更为灵活、高效和可扩展的平台。YARN的核心理念是将数据计算和资源管理分离,使得Hadoop能够支持更多种类的应用程序,如Spark、Tez等。YARN架构包括Resource Manager(RM)、Node Manager(NM)和Application Master(AM),通过合理分配资源和管理应用程序的执行来提高系统的并行性和资源利用率。YARN的优势包括资源隔离和高度可扩展。
Hadoop
2
2024-07-25
Hadoop YARN 架构解析
深入解析 Hadoop YARN 架构设计与实现原理。
Hadoop
4
2024-05-13
Hadoop YARN权威指南
Hadoop YARN权威指南
本书由默西 (Arun C. Murthy) 撰写,机械工业出版社于2015年3月出版。这本书深入浅出地讲解了Hadoop YARN的核心概念、架构和应用。
本书共242页,内容涵盖YARN的基础知识、资源管理、应用程序生命周期管理等方面,并结合实际案例进行讲解,帮助读者更好地理解和应用YARN。
Hadoop
2
2024-05-23
Yarn 及 Hadoop 优化
Yarn 及 Hadoop 优化
Hadoop
3
2024-05-25
深入解读Hadoop技术YARN架构设计与实现原理详解
这本书详细解析了Hadoop的源码,从深入的角度揭示了Hadoop底层运作机制,对学习和理解Hadoop具有重要帮助。技术专家们可以通过本书深入了解Hadoop技术的内部机制。
Hadoop
2
2024-07-16