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 指定了使用的调度器类型,这里使用了容量调度器。
目录
相关文章
|
Java Linux Shell
linux自动部署jar包,注册系统服务(基于Centos7)
linux自动部署jar包,注册系统服务(基于Centos7)
749 0
|
12月前
|
Rust 测试技术
用Rust编写RISC-V的功能精确ISS
RRV-ISS 是一个用 Rust 编写-V 指令集模拟器,目标是运行 FreeRTOS。
193 2
|
11月前
|
供应链 JavaScript 数据可视化
生产成本核算,为什么总算不准?
在制造企业中,生产成本核算不准是一个普遍难题。文章深入分析了六大关键场景,包括产品设计变更频繁、采购价格不清、生产现场混乱、仓储物流差异、人工成本难归集及费用归口不明确,揭示了这些问题带来的系统性风险。同时,文章指出ERP系统在解决成本核算难题中的关键作用,强调通过BOM管理、工单细化、采购追踪、成本自动归集与精细化报表分析,帮助企业实现成本的精准核算与有效控制。
|
存储 安全 Windows
u 盘不显示盘符怎么办?
在日常使用电脑的过程中,u盘是我们常用的存储设备之一。无论是传输文件、备份数据,还是安装系统,u盘都扮演着重要的角色。然而,有时候我们会遇到一个令人头疼的问题:插入u盘后,电脑上却没有显示盘符。这种情况不仅让人感到困惑,还可能影响工作进度。那么,遇到u盘不显示盘符的情况,我们该如何解决呢?接下来,我们将从多个角度分析可能的原因,并提供相应的解决方案。
|
分布式计算 资源调度 监控
【Hadoop Yarn】Hadoop Yarn 概述
【4月更文挑战第7天】【Hadoop Yarn】Hadoop Yarn 概述
|
Android开发
Android 更改包名,屡试不爽
      小菜因为工作需要,经常需要一套代码修改很多次包名,虽然不是什么技术活,但是小菜的用的次数多了就有了一点点小技巧分享给大家:       1. 如果源码是在本机电脑中,首先找到源码多位置,例如:由包名 com.
1988 0
|
SQL 数据库 HIVE
Hive【基础知识 05】常用DDL操作(数据库操作+创建表+修改表+清空删除表+其他命令)
【4月更文挑战第8天】Hive【基础知识 05】常用DDL操作(数据库操作+创建表+修改表+清空删除表+其他命令)
2648 0
|
Shell 数据处理 C++
【Shell 编程设计】shell中${}和()的使用指南
【Shell 编程设计】shell中${}和()的使用指南
427 0