hadoop yarm你知道吗?

简介: Hadoop YARN是Hadoop 2.x版本中的资源管理器,负责集群资源管理和作业调度。它由ResourceManager、NodeManager和ApplicationMaster组成,分别负责全局资源调度、节点资源管理和应用程序执行监控。YARN支持多种调度策略,具备高可用性和容错性,并能运行MapReduce、Spark等多种计算框架。配置文件`yarn-site.xml`用于设置YARN的各项参数,如ResourceManager地址、资源上限和调度器类型等。

一、概念

Hadoop YARN(Yet Another Resource Negotiator)是Hadoop 2.x版本中的一个重要组件,用于资源管理和作业调度。它是Hadoop的第二代资源管理器,取代了Hadoop 1.x版本中的MapReduce作业调度器。

通俗地理解它的作用有点像一个大型公司的行政部门,负责合理分配公司的资源(如办公室空间、电脑等)给不同的部门和员工,以确保公司运作高效。

二、主要组成


添加图片注释,不超过 140 字(可选)


YARN主要由三个部分组成:

  1. ResourceManager (RM):它是整个集群资源的大管家,负责管理和调度资源。
  2. NodeManager (NM):它是每台机器上的代理,负责监控和管理机器上的资源,并向ResourceManager报告。
  3. ApplicationMaster (AM):每个应用程序都有一个AM,它负责与ResourceManager协商资源,并管理应用程序的执行。

YARN的基本理念是将资源管理和作业调度/监控的功能分解为单独的组件。其核心思想是拥有一个全局的ResourceManager(RM)和每个应用程序的ApplicationMaster(AM)。一个应用程序可以是单个作业,也可以是一系列相关的作业。

ResourceManager和NodeManager构成了数据计算框架的核心。ResourceManager是系统中调解所有应用程序资源分配的最终机构。NodeManager是每台计算机上的框架代理,负责管理容器,监视它们的资源使用情况(CPU、内存、磁盘、网络),并将这些信息报告给ResourceManager/Scheduler。

每个应用程序的ApplicationMaster实际上是一个特定于框架的库,它的任务是与ResourceManager协商资源,并与NodeManager一起执行和监控任务。

三、主要功能

YARN的主要功能包括:

1. 资源管理:YARN负责管理整个Hadoop集群的资源,包括内存、CPU等,以便有效地运行作业。

2. 作业调度:YARN通过调度器(Scheduler)来分配集群资源给不同的应用程序。它支持多种调度器,如FIFO、Capacity Scheduler和Fair Scheduler,允许用户根据不同的需求进行资源调度和分配。

3. 容错性:YARN具有高可用性和容错性,能够处理节点故障或其他异常情况,并自动重新分配作业。

4. 多框架支持:除了支持MapReduce,YARN还可以运行其他分布式计算框架,如Apache Spark、Apache Flink等,使得Hadoop集群更加灵活多样化。


四、具体使用

yarn-site.xml 是 Apache Hadoop YARN(Yet Another Resource Negotiator)组件的配置文件之一,用于配置 YARN 的各种参数和属性。yarn-site.xml 中的配置项可以影响 YARN 的行为和性能。

以下是一个简单的 yarn-site.xml 配置示例:

<configuration>     <!-- 指定 ResourceManager 的地址 -->     <property>         <name>yarn.resourcemanager.hostname</name>         <value>your_resourcemanager_hostname</value>     </property>          <!-- 指定 NodeManager 的地址 -->     <property>         <name>yarn.nodemanager.hostname</name>         <value>your_nodemanager_hostname</value>     </property>          <!-- 配置日志存储路径 -->     <property>         <name>yarn.nodemanager.log-dirs</name>         <value>/var/log/yarn</value>     </property>          <!-- 配置 YARN 容器的资源上限 -->     <property>         <name>yarn.nodemanager.resource.memory-mb</name>         <value>8192</value> <!-- 内存上限,单位为MB -->     </property>     <property>         <name>yarn.nodemanager.resource.cpu-vcores</name>         <value>4</value> <!-- CPU 核心数上限 -->     </property>          <!-- 配置 YARN 调度器 -->     <property>         <name>yarn.resourcemanager.scheduler.class</name>         <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value> <!-- 使用容量调度器 -->     </property> </configuration>

在这个示例中:

  • yarn.resourcemanager.hostname 指定了 ResourceManager 的主机名。
  • yarn.nodemanager.hostname 指定了 NodeManager 的主机名。
  • yarn.nodemanager.log-dirs 指定了日志存储路径。
  • yarn.nodemanager.resource.memory-mbyarn.nodemanager.resource.cpu-vcores 分别指定了 NodeManager 的资源上限。
  • yarn.resourcemanager.scheduler.class 指定了使用的调度器类型,这里使用了容量调度器。
目录
相关文章
|
9月前
|
消息中间件 存储 中间件
说说MQ在你项目中的应用(二)商品支付
本文总结了消息队列(MQ)在支付订单业务中的应用,重点分析了RabbitMQ的优势。通过异步处理、系统解耦和流量削峰等功能,RabbitMQ确保了支付流程的高效与稳定。具体场景包括用户下单、支付请求、商品生产和物流配送等环节。相比Kafka,RabbitMQ在低吞吐量、高实时性需求下表现更优,提供了更低延迟和更高的可靠性。
266 0
|
7月前
|
存储 安全 Windows
u 盘不显示盘符怎么办?
在日常使用电脑的过程中,u盘是我们常用的存储设备之一。无论是传输文件、备份数据,还是安装系统,u盘都扮演着重要的角色。然而,有时候我们会遇到一个令人头疼的问题:插入u盘后,电脑上却没有显示盘符。这种情况不仅让人感到困惑,还可能影响工作进度。那么,遇到u盘不显示盘符的情况,我们该如何解决呢?接下来,我们将从多个角度分析可能的原因,并提供相应的解决方案。
|
9月前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
199 15
|
9月前
|
存储 分布式计算 Java
踏上大数据第一步:flume
Flume 是一个分布式、可靠且高效的系统,用于收集、聚合和移动大量日志数据。它是 Apache 顶级项目,广泛应用于 Hadoop 生态系统中。Flume 支持从多种数据源(如 Web 服务器、应用服务器)收集日志,并将其传输到中央存储(如 HDFS、HBase)。其核心组件包括 Source、Channel 和 Sink,分别负责数据获取、临时存储和最终存储。本文还介绍了在 Ubuntu 20.04 上安装 Flume 1.9.0 的步骤,涵盖 JDK 安装、Flume 下载、解压、配置环境变量及验证安装等详细过程。
160 10
|
9月前
|
存储 NoSQL atlas
探索MongoDB:发展历程、优势与应用场景
MongoDB 是一个开源的文档型数据库,由 DoubleClick 团队于2007年创立,旨在解决传统数据库的扩展性和灵活性问题。它支持 JSON 格式的存储和查询,具备高可用性、高扩展性和灵活性等优势。MongoDB 适用于社交、物联网、视频直播和内容管理等多种场景,并被阿里巴巴、腾讯等一线互联网公司广泛使用。其主要版本包括 MongoDB Atlas(云服务)、MongoDB Enterprise Advanced(商业版)和 MongoDB Community Edition(免费版)。自2009年发布1.0版本以来,MongoDB 不断创新,最新版本为7.0,在性能和功能上持续优化。
483 12
|
9月前
|
存储 Oracle 关系型数据库
索引在手,查询无忧:MySQL索引简介
MySQL 是一款广泛使用的关系型数据库管理系统,在2024年5月的DB-Engines排名中得分1084,仅次于Oracle。本文介绍MySQL索引的工作原理和类型,包括B+Tree、Hash、Full-text索引,以及主键、唯一、普通索引等,帮助开发者优化查询性能。索引类似于图书馆的分类系统,能快速定位数据行,极大提高检索效率。
149 8
|
9月前
|
消息中间件 存储 监控
说说MQ在你项目中的应用(一)
本文总结了消息队列(MQ)在项目中的应用,主要围绕异步处理、系统解耦和流量削峰三大功能展开。通过分析短信通知和业务日志两个典型场景,介绍了MQ的实现方式及其优势。短信通知中,MQ用于异步发送短信并处理状态更新;业务日志中,Kafka作为高吞吐量的消息系统,负责收集和传输系统及用户行为日志,确保数据的可靠性和高效处理。MQ不仅提高了系统的灵活性和响应速度,还提供了重试机制和状态追踪等功能,保障了业务的稳定运行。
264 7
|
9月前
|
数据挖掘 OLAP BI
OLAP技术:数据分析的修仙秘籍初探
OLAP(联机分析处理)是一种多维数据分析技术,能够从不同角度洞察数据,揭示隐藏的趋势和模式。它最早由Edgar F. Codd在1993年提出,旨在弥补传统OLTP系统的不足,支持复杂的数据分析与决策支持。OLAP操作包括钻取、上卷、切片、切块和旋转等,帮助用户灵活地探索数据。广泛应用于财务报告、市场分析、库存管理和预测分析等领域,是现代商业智能的重要工具。
272 7
|
9月前
|
存储 关系型数据库 MySQL
MySQL存储引擎详述:InnoDB为何胜出?
MySQL 是最流行的开源关系型数据库之一,其存储引擎设计是其高效灵活的关键。InnoDB 作为默认存储引擎,支持事务、行级锁和外键约束,适用于高并发读写和数据完整性要求高的场景;而 MyISAM 不支持事务,适合读密集且对事务要求不高的应用。根据不同需求选择合适的存储引擎至关重要,官方推荐大多数场景使用 InnoDB。
206 7
|
9月前
|
人工智能 程序员 Linux
神秘山洞惊现AI绘画至宝Stable Diffusion残卷
随着AI神器的现世,不少修士担忧其会取代人类职业。然而,自女娲创造人类以来,法宝虽强,始终只是辅助工具,需修士操控才能发挥威力。如今修仙界最大的至宝是GPT,它能以文字为引,转化出所需答案。图片处理方面也有Stable Diffusion、DALL-E等法宝。这些AI工具并非替代修士,而是提升效率的助手。例如,Stable Diffusion最初由慕尼黑和海德堡大学宗师炼制,现已发展多个版本,如v1、v2.0、SDXL等,帮助修士更便捷地生成图像。通过合理使用这些工具,修士们可以更好地实现心中所想,而非被技术取代。
133 6