hadoop yarm你知道吗?

一、概念

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

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

二、主要组成

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 指定了使用的调度器类型,这里使用了容量调度器。
  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

栈江湖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值