10小时入门大数据:第4章-分布式资源调度YARN

本文详细介绍了YARN产生的背景,包括MapReduce1.x的问题和资源管理的挑战。YARN作为通用的资源管理系统,允许多种计算框架共享集群资源,提高资源利用率。文章还阐述了YARN的架构,包括ResourceManager、NodeManager、ApplicationMaster和Container的角色,并描述了YARN的执行流程。最后,提供了YARN环境的搭建步骤和在YARN上提交作业的测试案例。
摘要由CSDN通过智能技术生成

YARN产生的背景

MapReduce1.x存在的问题:单点故障和节点压力大不易扩展
只有一个job tracker,单点故障
task tracker的RPC请求全都给job tracker,当task tracker多的时候job tracker不易扩展
只支持MapReduce框架
资源利用率和运维成本
集群管理复杂,资源浪费等,Hadoop和Spark,MPI等分别的集群,不能共享,资源移动成问题,资源利用率低
催生了YARN的诞生
集群的资源管理,在HDFS2之上,在YARN上可以运行多种计算框架,操作系统级别的资源调度框架,共享HDFS的资源
不同计算框架可以共享同一个HDFS集群上的数据,享受整体的资源调度
xxx on YARN,与其他计算框架共享集群资源,按资源需要分配,提高集群资源的利用率

YARN架构

YARN概述
yet another resource negotiator
通用的资源管理系统
为上层应用提供统一的资源管理和调度
YARN的架构
ResourceManager-RM
整个集群同一时间提供服务的RM只有一个,负责集群资源的统一管理和调度
处理客户端的请求: 提交一个作业、杀死一个作业
监控我们的NM,一旦某个NM挂了,那么该NM上运行的任务需要告诉我们的AM来如何进行处理
NodeManager-NM
整个集群中有多个,负责自己本身节点资源管理和使用
定时向RM汇报本节点的资源使用情况
接收并处理来自RM的各种命令:启动Container
处理来自AM的命令
单个节点的资源管理
ApplicationMaster-AM
每个应用程序对应一个:MR、Spark,负责应用程序的管理
为应用程序向RM申请资源(core、memory),分配给内部task
需要与NM通信:启动/停止task,task是运行在container里面,AM也是运行在container里面
Container(跑任务)
封装了CPU、Memory等资源的一个容器
是一个任务运行环境的抽象
client
提交作业
查询作业的运行进度
杀死作业
YARN执行流程
client提交作业
RM和NM通信,要求在NM上启动container
这个container用于启动一个应用程序AM的
AM和RM进行注册,AM向RM申请资源
AM申请到资源之后就在对应的NM上启动任务,所有的任务都是以container的方式运行的
将task运行在container之上

YARN环境搭建

环境
使用版本:hadoop-2.6.0-cdh5.7.0
yarn-site.xml
mapred-site.xml
启停YARN
搭建过程(需要拷贝模板之后编辑)
1. vim mapred-site.xml

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

2. vim yarn-site.xml

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

3.  启动YARN相关的进程sbin/start-yarn.sh

4. 验证
1).jps
ResourceManager
NodeManager
​2)通过浏览器访问
http://ip:8088

5. 停止YARN相关的进程
sbin/stop-yarn.sh

测试在YARN上提交作业

使用hadoop官方提供的测试用例进行测试
    提交mr作业到YARN上运行:/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar
    hadoop jar提交作业
    hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3求圆周率
    2表示跟几个map
    3表示取样的数量
    在浏览器上看运行的流程状态


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值