hadoop基础三:YARN简介、组件

你的点赞与评论是我最大的创作动力!

在这里插入图片描述

YARN定位

云计算三层服务:
IaaS、PaaS、SaaS
YARN属于PaaS层。

YARN设计目标
  • 通用的统一资源管理系统
    • 同时运行长应用程序和短应用程序
  • 长应用程序
    • 通常情况下,永不停止运行
    • Service(hadoop、Spark、Storm)、HTTP Server等
  • 短应用程序
    • 短时间(秒级、分钟级、小时级)内会运行结束的程序
    • MR job、Spark Job等
YARN服务组件
1、组件

Client
ResourceManager、Application Master
NodeManager、Container

  • YARN总体上仍然是Master/Slave结构,在整个资源管理框架中,ResourceManager为Master,NodeManager为Slave。
  • ResourceManager负责对各个NodeManager上的资源进行统一管理和调度
  • 当用户提交一个应用程序时,需要提供一个用以跟踪和管理这个程序的。
  • ApplicationMaster,它负责向ResourceManager申请资源,并要求NodeManger启动可以占用一定资源的任务。
  • 由于不同的ApplicationMaster被分布到了不同的节点上,因此他们之间不会相互影响。
2、其他组件

JobHistoryServer、TimelineServer、mr-jobhistory-daemon.sh start historyserver

ResourceManager
  • 全局的资源管理器,整个集群只有一个,负责集群资源的统一管理和调度分配。
功能:
  • 处理客户端请求
  • 启动、监控ApplicationMaster
  • 监控NodeManager
  • 资源分配与调度
NodeManager
  • 整个集群有多个,负责单节点资源管理和使用
功能
  • 单个节点上的资源管理和任务管理
  • 处理来自ResourceManager的命令
  • 处理来自ApplicationMaster的命令
NodeManager管理抽象容器,这些容器代表着可供一个特定应用程序使用的针对每个节点的资源。
定时地向RourceManager汇报本节点上的资源使用情况和各个Container的运行状态。
Application Master
  • 管理一个YARN内运行的应用程序的每个实例
功能
  • 数据切分
  • 为应用程序申请资源,并进一步分配给内部任务
  • 任务监控与容错
负责协调来自ResourceManager的资源,开通过NodeManager监视容器的执行和资源使用(CPU、内存等的资源分配)
Container
  • YARN中的资源抽象,封装某个节点上多维度资源,如内存、CPU、磁盘、网络等,当AM向RM申请资源时,RM向AM返回的资源便是用Container表示的。
  • YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源。
功能
  • 对任务运行环境的抽象
  • 描述一系列信息
  • 任务运行资源(节点、内存、CPU)
  • 任务启动命令
  • 任务运行环境
YARN优势
  • 更快地MapReduce计算
    • YARN利用异步模型对MapReduce框架的一些关键逻辑结构(如:JobIonprogress、TaskInProgress等)进行了重写,相比于MRv1,具有更快地计算速度。
  • 对多框架支持
    • YARN不再是一个单纯的计算框架,而是一个框架管理器,用户可以将各种各样的计算框架移植到YARN之上。
  • 框架升级更容易
    • 在YARN中,各种计算框架不再是作为一个服务部署到集群的各个节点上(比如MapReduce框架,不再需要部署JobTracler、TaskTracker等服务),而是被封装成一个用户程序(lib)存放在客户端,当需要对计算框架进行升级时,只需升级用户程序库即可。
YARN资源管理
  • 资源调度和资源隔离是YARN作为一个资源管理系统,最重要和最基础的两个功能。资源调度由ResourceManager完成,而资源隔离由各个NodeManager实现。
  • ResourceManager将某个NodeManager上资源分配给任务(这就是所谓的“资源调度”)后,NodeManager需按照要求为任务提供相应的资源,甚至保证这些资源应具有独占性,为任务运行提供基础的保证,这就是所谓的资源隔离。
  • 当谈及到资源时,我们通常指内存、CPU、IO三种资源。Hadoop YARN同时支持内存和CPU两种资源的调度
  • 内存资源的多少会决定任务的生死,如果内存不够,任务可能会运行失败;相比之下,CPU资源则不同,他只会决定任务运行的快慢,不会对生死产生影响。
Hadoop发行版本
  • Apache Hadoop
  • Cloudera —CDH
  • Hortonworks —HDP
  • MapR
  • EMC、IBM
  • Intel、华为
  • 其他
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

橙子园

期待你的鼓励!

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

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

打赏作者

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

抵扣说明:

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

余额充值