资源调度框架YARN

作者: Peacenloves | 来源:发表于2018-06-03 19:48 被阅读0次

1. YARN产生背景

  1. Hadoop1.x时:MapReduce1.x存在问题:单点故障&节点压力大不易扩展&不能支持除了MR以外的任务
    • MapReduce:Master/Slave架构,一个JobTracker带多个TaskTracker。
    • JobTracker:负责资源管理和作业调度。整个集群中只有一个JobTracker,如果出现故障,整个集群就会崩溃。
    • TaskTracker:定期向JT汇报本节点的健康状况、资源使用情况、作业执行情况;接受到来自JT的命令:启动/杀死任务。
  2. 资源利用率&运维成本
  3. YARN:不同计算框架可以共享同一个HDFS集群上的数据,享受整体的资源调度。
  4. XXX(Spark/MapReduce/Strom/Flink) on YARN的好处:与其他计算框架共享集群资源,按资源需要分配,进而提高集群资源的利用率。

2. YARN概述

  1. Yet Another Resource Negotiator
  2. 通用的资源管理系统
  3. 为上层应用提供统一的资源调度

3. YARN架构

yarn架构.jpg
  1. ResourceManager: RM
    • 整个集群同一时间提供服务的RM只有一个(生产一般有两个,一主一备),负责集群资源的统一管理和调度。
    • 处理客户端请求:提交一个作业,杀死一个作业。
    • 监控我们的NM,一旦某个NM挂了,那么该NM上运行的任务需要告诉我们的AM来如何进行处理(重启)。
  2. NodeManager: NM
    • 整个集群中有多个,负责自己本身节点资源管理和使用。
    • 定时向RM汇报本节点的资源使用情况。
    • 接受并处理来自RM的各种命令:启动Container。
    • 处理来自AM的命令。
    • 单个节点的资源管理。
  3. ApplicationMaster: AM
    • 每个应用程序对应一个:MR、Spark、负责应用程序的管理。
    • 为应用程序向RM申请资源(core、memory),分配给内部Task处理。
    • 需要与NM通信:启动/停止task,task是运行在container里面,AM也是运行在container里面的。
  4. Container
    • 封装了CPU、Memory等资源的一个容器。
    • 是一个任务运行环境的抽象。
  5. Client
    • 提交作业
    • 查询作业的运行进度
    • 杀死作业

4. YARN执行流程

yarn调用流.jpg

5. YARN环境搭建

  1. mapred-site.xml
<configuration>
    <!--告诉MapReduce,任务跑在yarn上-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  1. yarn-site.xml
<configuration>
    <!--告诉yarn的NodeManage用的哪一个-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
  1. 启动YARN相关进程:sbin/start-yarn.sh
  1. 验证YARN是否启动成功
  2. 停止YARN相关进程:sbin/stop-yarn.sh

6. 提交作业到YARN执行

  1. MapReduce作业提交到YARN上运行
    • 使用Hadoop MapReduce示例程序:/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0.jar
    • 启动MR程序:hadoop jar hadoop-mapreduce-examples-3.1.0.jar pi 1 2
    • 使用http://localhost:8088 查看结构

相关文章

  • Yarn与MapReduce

    --YARN 资源调度框架 YARN架构 1个ResourceManager + N个NodeManager ...

  • 三、分布式资源调度YARN

    一、YARN的产生背景 二、XXX on YARN 三、资源调度框架:作业提交先到ResourceManager,...

  • 资源调度框架YARN

    1. YARN产生背景 Hadoop1.x时:MapReduce1.x存在问题:单点故障&节点压力大不易扩展&不能...

  • Hadoop

    狭义 Hadoop HDFS MapReduce Yarn 资源调度 广义 Hadoop辅助框架 flume 日志...

  • Hadoop-分布式资源调度

    资源调度框架YARN 概述 Yet Another Resource Negotiator通用的资源管理系统。为上...

  • Hadoop Yarn 资源调度器解析

    Hadoop Yarn 资源调度器解析篇 Yarn资源调度器简介 资源调度器是Yarn中最核心的组件之一,他是Re...

  • yarn之资源调度器

    1: yarn 资源调度的定义 2: yarn 资源调度的种类 在Yarn中有三种调度器可以选择:FIFO Sch...

  • Yarn

    Yarn本质及机制 Yarn是一个资源管理和调度的框架.主要进程包括:ResourceManager,NodeMa...

  • Hadoop和Yarn中的任务调度算法和任务队列

    参考:Yarn 资源调度策略hadoop的三种任务调度的原理 1 Yarn 资源调度策略 1)队列调度:FIFO ...

  • hadoop资源调度框架YARN

    YARN产生的背景 Hadoop1.x版本时候,包含的MapReduce1.x存在单点故障和节点压力大,不易扩展的...

网友评论

    本文标题:资源调度框架YARN

    本文链接:https://www.haomeiwen.com/subject/woqssftx.html