04 资源调度框架YARN

资源调度框架YARN

YARN产生背景

hadoop1.x时,MapReduce是Master/Slave架构,一个JobTracker带多个TaskTracker
JobTracker:负责资源管理和作业调度
TaskTracker:定期向JT汇报本节点的健康状况、资源使用情况、作业执行情况。接受来自JT的命令:启动任务/杀死任务
存在问题:

  1. 单点故障,节点压力大不易扩展,仅支持MapReduce作业
    这里写图片描述
  2. 资源利用率和运维成本
    这里写图片描述
    上面催生了YARN的诞生
    这里写图片描述
    不同计算框架可以共享同一个HDFS集群上的数据,享受整体的资源调度
    XXX on YARN的好处:与其他计算框架共享集群资源,按资源需要分配,进而提高集群资源利用率
    XXX:Spqrk/MapReduce/Storm/Flink

YARN概述

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

YARN架构

这里写图片描述
Resource Manager:RM
整个集群同一时间提供服务的RM只有一个,负责集群资源的统一管理和调度
处理客户端的请求:提交一个作业,杀死一个作业
监控NM,一旦某个NM挂了,那么该NM上运行的任务需要告诉AM来如何进行处理
Node Manager:NM
整个集群中有多个,负责自己本身节点资源管理和使用
定时向RM汇报本节点的资源使用状况
接收并处理来自RM的各种命令:启动Container
处理来自AM的命令
单个节点的资源管理
Application Master:AM
每个应用程度对应一个,负责应用程序的管理
为应用程序向RM申请资源(core、memory),分配给内部task
需要与NM通信:启动/停止task,AM也是运行在Container里面
Container:
封装了CPU,Memory等资源的一个容器
是一个任务运行环境的抽象
Client:
提交作业,查看作业运行进度,杀死作业

YARN执行流程

这里写图片描述
① 用户向Resource Manager提交一个作业
② Resource Manager为该作业分配第一个Container,该Container运行在某个Node Manager
③ Resource Manager与该Node Manager进行通信,要求Node Manager启动Container运行Application Master
④ Application Master启动与Resource Manager通信进行注册,用户可以通过Resource Manager查询作业运行情况,Application Master将需要多少core,多少memory向Resource Manager进行申请
⑤ Application Master在Node Manager启动任务
⑥ Node Manager启动Container

YARN环境搭建

yarn-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

mapred-site.xml

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

启动YARN相关的进程:sbin/start-yarn.sh
验证:
jps
这里写图片描述
http://192.168.0.56:8088
这里写图片描述
停止YARN相关进程:sbin/stop-yarn.sh

提交MapReduce作业提交到YARN上

/data/program/software/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce该路径下有hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar
执行 hadoop jar mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3
结果
这里写图片描述
这里写图片描述
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值