您好,欢迎来到易榕旅网。
搜索
您的当前位置:首页Yarn工作原理

Yarn工作原理

来源:易榕旅网

基本架构

Yarn的架构是master/slaves的主从架构

  • master:ResourceManager->全局资源管理
    负责集群全局统一的资源管理、调度、分配

  • slave:NodeManager->节点资源管理器
    启动了NodeManager进程的节点
    负责管理节点的资源及使用情况

Yarn核心组件:包括ResouceManager和NodeManager
ApplicatonMaster:每一个job产生一个ApplicationMaster,方便管理
Container:每个NodeManager负责一个

Yarn架构各核心租金介绍

ResourceManager
组成:
ResourceScheduler:资源调度器,根据节点的容量、队列情况为应用程序分配资源;
Application Manager:应用程序管理器,负责接受Client端传输的job请求。
功能:

  • 处理Client端的请求;
  • 监控NodeManager;
  • 启动和监控ApplicationMaster,进行必要的重启;
  • 整个系统的资源分配和调度。
    NodeManager
    功能:
  • 负责本节点上的资源管理和任务管理;
  • 定时向ResourceManager汇报本节点上的资源使用情况和各个Container的运行情况;
  • 接收和处理来自ResourceManager的Container启动和停止的各种命令;
  • 处理来自ApplicationMaster的指令,比如启动Map Task和Reduce Task指令。
    ApplicationMaster
    功能:
  • 每个应用程序对应一个ApplicationMaster,负责单个应用程序的管理;
  • 负责数据切分;
  • 为应用程序向ResourceManger申请资源(Container),并分配内部任务(MapTask和ReduceTask);
  • 与NodeManager通信来启动/停止任务,Task都是运行在Container中的;
  • 重启失败任务,一般重启三次;
  • 负责任务的监控和容错,当某些Task运行出错,进行容错处理。
    Container
  • Container是Yarn中的资源抽象,封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等;
  • 当ApplicationMaster向ResourceManager申请资源时,ResourceManager为ApplicationMaster 返回的资源便是用Container 表示的。
  • Container类似于一个虚拟机,可以在上面执行任务

Yarn的工作机制

前面主要讲了下理论部分,可能比较抽象,下面我们借助流程图的形式在来了解一下yarn的工作机制:

查看历史服务

在查看历史服务之前,我们首先要启动历史服务:

mr-jobhistory-daemon.sh start historyserver

jps查看是否启动成功:

hadoop jar share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.6.0-cdh5.14.2.jar wordcount /test/a.txt /test/Result

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrd.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务