频道栏目
首页 > 网络 > 云计算 > 正文

Hadoop资源调度框架YARN详情

2018-02-12 10:37:23      个评论    来源:qq_32297447的博客  
收藏   我要投稿

准备工作:

YARN集群资源管理(Yet Another Resource Negotiator)

1)是一个通用的资源管理系统,可为上层应用提供统一的资源管理和调度

2)它的引入为集群在利用率、资源统一和数据共享等方面带来了巨大好处

YARN架构

架构核心组件

ResourceManager

NodeManager

ApplicationMaster

Container

master/slaves结构:1个ResourceManager对应多个NodeManager构成

ApplicationMaster:每个应用程序一个,负责应用程序的管理

1)数据切分

2)为应用程序向RM申请资源(Container),分配内部任务

3)与NM通信以启动/停止任务,Task都是运行在Container中的

4)Task的容错

ResourceManager在整个集群中处于工作状态的只有1个,负责集群资源的统一管理和调度

1)处理客户端发起的请求(启动/杀死应用程序)

2)启动/监控ApplicationMaster,AM挂了,RM将会在另外一个节点上启动该AM

3) RM要监控NM

4)整个系统的资源分配和调度

NodeManager:整个集群中有多个,负责自己节点的资源使用和管理

1)定时向RM汇报本节点上的资源使用情况和各个Container的运行情况

2)接收和处理来自RM的Container启动和停止的各种命令

3)处理来自AM的命令

4)本节点上的资源管理和任务管理

Container:对任务运行环境的封装,CPU、内存等这些资源以及环境变量、启停命令等等与任务相关的信息

YARN执行流程

1)用户向YARN(RM)提交作业

2)RM为该作业分配第一个Container

3)RM与对应的NM通信,要求在这个NM的这个Container上启动应用程序的ApplicationMaster

4)AM首先向RM注册,这样用户就可以通过RM来查询到作业的运行状况,然后AM将为各个任务申请资源

5)一旦AM申请到资源后,就要与对应的NM通信,要求NM启动任务

6)NM启动任务

YARN容错

RM:单点故障==> RM HA(切换)/RM Restart(重启)

NM:挂了,RM将失败的任务会告诉AM,让AM来决定是否处理失败的任务

AM:挂了,由RM负责重启

有些task运行ok,但是整个作业还没运行完,会保存已经运行完成的task,重启后无需全部重新运行

YARN环境搭建

mapred-site.xml

mapreduce.framework.name

yarn

yarn-site.xml

yarn.nodemanager.aux-services

mapreduce_shuffle

启动YARN: sbin/start-yarn.sh

检测是否启动成功:

1)jps

NodeManager

ResourceManager

2)web 页面

上一篇:Elasticsearch优化
下一篇:hive配置常见问题的解决方法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站