码迷,mamicode.com
首页 > 其他好文 > 详细

YARN 基础

时间:2019-01-09 23:35:36      阅读:350      评论:0      收藏:0      [点我收藏+]

标签:共享   运行   另一个   抽象   container   ado   应用程序   有一个   containe   

一、YARN 简介

YARN(Yet Another Resource Negotiator,资源协调者) 是一种新的Hadoop 资源管理器,是一个通用的资源管理系统,可以为上层应用提供统一的资源管理和调度。它的引入为集群在利用率,资源统一管理和数据共享方面带来了很大的好处。

YARN 是随着Hadoop 发展而催生的新框架,取代了以前Hadoop1.x 中JobTracker 的角色。之前的JobTracker不仅要负责任务的调度,还要负责任务的追踪以及失败重启等过程。为了解决JobTracker 任务过重、只能运行MapReduce作业、不支持其他编程模式的问题,YARN 作为一种解决方案就出现了。

二、YARN 架构
YARN 由Client,ResourceManager,NodeManager,ApplicationMaster组成,采用Master/Slave 结构,一个ResourceManager 对应多个NodeManager。

技术分享图片

三、YARN 核心组件功能
ResourceManager:整个集群只有一个,负责集群资源的统一管理和调度。
处理来自客户端的请求(启动/终止 应用程序)
启动/监控 ApplicationMaster: 一个AM出故障,RM将会在另一个节点上启动该AM。
监控NodeManager,接收NodeManager 汇报的心跳信息并分配任务给NodeManager 去执行;一旦某个NM出故障,标记该NM上的任务,告诉对应的AM该如何处理。

NodeManager:整个集群中有多个,负责单节点资源管理和使用。
周期性地向RM汇报本节点上的资源的使用情况和各个Container的运行状态
接收并处理来自ResourceManager的Container 启动/停止的各种命令
处理来自ApplicationMaster 的命令

ApplicationMaster:每个应用一个,负责应用程序的管理。
数据切分
为应用程序/作业向ResourceManager 申请资源(Container),并分配给内部任务。
与NodeManager 通信以启动/停止任务。
任务监控和容错(在任务执行失败时重新为该任务申请资源以重启任务)
处理Resource 发过来的命令,终止Container,让NodeManager 重启等

Container: 对任务运行环境的抽象
任务运行资源(节点、内存、CPU)
任务启动命令
任务运行环境
任务是运行在Container 中,一个Container 中既可以运行ApplicationMaster,也可以运行具体的Map、Reduce、MPI(消息传递接口)、Spark Task。

YARN 基础

标签:共享   运行   另一个   抽象   container   ado   应用程序   有一个   containe   

原文地址:https://www.cnblogs.com/wbringarden/p/10247346.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!