1.Yarn的概述
1.1.解释Yarn的定义和基本概念
Hadoop YARN(Yet Another Resource Negotiator)是 Hadoop 2.x 版本引入的一种资源管理器,用于管理和调度大数据集群中的资源,是 Hadoop 集群的核心组件之一。YARN 的设计目标是提高 Hadoop 的资源利用率、灵活性和可伸缩性,使其能够处理更加复杂和多样化的工作负载。
1.2.概述 YARN 的起源和发展历程
起源:在 Hadoop 1.x 版本中,资源管理和作业调度功能都由 JobTracker 负责,这种集中式的架构存在一些缺点,如扩展性差、单点故障等。因此,Google 发布的 MapReduce 论文以及大数据领域的发展需要促使了 Hadoop 社区寻求一种更灵活、更可扩展的资源管理框架。
发展历程: 2012 年,Hadoop 2.x 版本正式发布,其中包含了 YARN 的实现。YARN 的引入为 Hadoop 提供了一个全新的资源管理和作业调度框架,使得 Hadoop 集群可以同时运行多个计算框架(如 MapReduce、Spark、Flink 等),并能够更灵活地处理不同类型的工作负载。
2.Yarn架构解析
2.1.详细介绍Yarn的体系结构和组件
YARN 的基本思想是将资源管理和作业调度/监控的功能拆分为单独的守护进程。这个想法是拥有一个全局 ResourceManager (RM) 和每个应用程序的 ApplicationMaster (AM)。应用程序可以是单个作业,也可以是作业的 DAG。
ResourceManager 和 NodeManager 构成了数据计算框架。ResourceManager 是在系统中的所有应用程序之间仲裁资源的最终权威机构。NodeManager 是负责容器的每机框架代理,监视其资源使用情况(cpu、内存、磁盘、网络),并将其报告给 ResourceManager/Scheduler。
实际上,每个应用程序的 ApplicationMaster 是一个特定于框架的库,其任务是从 ResourceManager 协商资源,并与 NodeManager 合作来执行和监视任务。

2.2.解析ResourceManager、NodeManager、ApplicationMaster 等关键组件的作用和职责
2.2.1.ResourceManager
ResourceManager有两个主要组件:Scheduler和ApplicationsManager。
2.2.1.1.Scheduler(调度程序):
Scheduler复制将资源分配给各种正在运行的应用程序,这些应用程序受到熟悉的容量,队列等限制.调度程序是


1486

被折叠的 条评论
为什么被折叠?



