分布式资源调度系统 YARN

来源:互联网 发布:淘宝店铺怎么看退货率 编辑:程序博客网 时间:2024/05/21 22:56

文章地址:http://www.haha174.top/article/details/259707

1.YARN产生背景

1. hadoop 1.x 时:
MapReduce:Master/Slave 架构 1个JobTracker带多个TaskTracker
JobTracker: 负责 资源调度和作业调度
TaskTracker: 定期向jt 汇报本节点的健康状况、资源使用、作业执行的情况;
接收来自JT的命令启动任务和杀死任务。
MapReduce1.X 存在的问题: 单点故障 & 节点压力大不易扩展
架构图:
这里写图片描述

2.YARM的诞生
YARM: 不同的计算框架,可以共享一个hdfs 集群上的数据,享受整体的资源调度。
XXX on YARN 与其他计算框架共享集群资源,按需分配进而提高集群资源的利用率。
XXX Spark/MabReduce/……
架构图:
这里写图片描述
3.YARM的概述
架构:
1)ResourceManager :RM
整个集群提供服务的RM只有一个,负责集群资源的统一管理个调度,处理客户端的请求:提交一个作业,杀死一个作业、监控NodeManager ,一旦NM 挂啦 需求告诉AM进行如何处理
2)NodeManager :NM
1.整个集群中有多个,负责单个节点的资源管理和使用
2.定时向RM汇报节点的资源使用情况
3.接收并处理来自RM的命令启动Container
4.处理来自AM的命令
3)ApplicationManager:AM
负责应用程序的管理、为应用程序申请资源,分配给task
需要与NM通信启动/停止task,AM 和task运行在Container
4)Container:
封装了CPU,Memory的容器。
是一个任务运行环境的抽象
5)Client:
提交作业
查看作业的进度
杀死作业
4.YARN 的执行流程
如下图:
这里写图片描述

5.YARN 环境搭建
1)mapred-site.xml

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

2)yarn-site.xml

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

3)启动yarn
start-yarn.sh 在sbin 目录下执行脚本启动yarn
可以通过jps 或者浏览器查看是否启动成功
jps这里写图片描述
浏览器:
http://192.168.1.223:8088/cluster (192.168.1.223 虚拟机ip)

6.提交作业到YARN上运行

这里直接使用hadoop提供的一个MapReduce的example运行
在hadoop 安装目录 cd share/hadoop/mapreduce
ls 查看一下
这里写图片描述
有个 hadoop-mapreduce-examples-2.9.0.jar 这个是hadoop提供的一个例子。
使用命令 hadoop jar 执行 假设我们来计算PI(3.14…. 那个)
如下:
hadoop jar hadoop-mapreduce-examples-2.9.0.jar pi 2 3
http://192.168.1.223:8088/cluster 可以在 页面检测运行 状态这里写图片描述

可以在控制台查看结果 :
这里写图片描述

原创粉丝点击