文档章节

Yarn资源管理器简单介绍

二龙湖小峰哥
 二龙湖小峰哥
发布于 2018/01/04 17:05
字数 701
阅读 172
收藏 0

Yarn有以下几个组件组成:

    Container是Yarn对计算机计算资源的抽象,它其实就是一组CPU和内存资源,所有的应用都会运行在Container中

    ApplicationMaster是运行在Yarn中某个应用的抽象,它其实就是某个类型应用的实例,ApplicationMaster是应用级别的,它的主要功能就是像ResourceManager申请计算资源,并且和NodeManager交互来执行和监控具体的Task

        Scheduler是ResourceManager专门进行资源管理的一个组件,负责分配nodeManager上的container资源,NodeManager也会不断发送自己Container使用情况给ResourceManager

这里写图片描述

备注:

         1:任何一个job或者application必须运行在一个或者多个Container中,在Yarn框架中,Resourcemanager只负责告诉ApplicationMaster哪些Containers是可用的,ApplicationMaster还需要去找NodeManager请求分配具体的Container

             2:ResourceManager主要有两个组件:Scheduler和ApplicationManager

             3:在yarn中,每个job都会对应一个ApplicationMaster

Application在Yarn中的执行过程

              执行过程分为三步:应用程序的提交,启动应用的ApplicationMaster实例,ApplicationMaster实例管理应用程序的执行

这里写图片描述

 

客户端程序向ResourceManager提交应用并请求一个ApplicationMaster实例

ResourceManager找到可以运行一个Container的NodeManager,并在这个Container中启动ApplicationMaster实例

ApplicationMaster向ResourceManager进行注册,注册之后客户端就可以查询ResourceManager获得自己ApplicationMaster的详细信息,以后就可以和自己的ApplicationMaster直接交互了

在平常的操作过程中,ApplicationMaster根据resource-request协议向ResourceManager发送resource-request请求

当Container被成功分配之后,ApplicationMaster通过向NodeManager发送container-launch-specification信息来启动Container, container-launch-specification信息包含了能够让Container和ApplicationMaster交流所需要的资料

用程序的代码在启动的Container中运行,并把运行的进度、状态等信息通过application-specific协议发送给ApplicationMaster

在应用程序运行期间,提交应用的客户端主动和ApplicationMaster交流获得应用的运行状态、进度更新等信息,交流的协议也是application-specific协议

但应用程序执行完成并且所有相关工作也已经完成,ApplicationMaster向ResourceManager取消注册然后关闭,用到所有的Container也归还给系统

 

备注简单请求过程:应用向ApplicationMaster请求资源,然后ApplicationMaster把这个资源请求以resource-request的形式发送给resourceManager的Schedule,Schedule在这个原始的resource-request中加入分配到的Container的描述,ApplicationMaster得到这些Container的信息后,与具体的包含这些资源的NodeManager进行交互来启动Container运行任务,当然Container的分配是需要认证(类似令牌)的,以防止ApplicationMaster自己去请求集群资源

© 著作权归作者所有

共有 人打赏支持
二龙湖小峰哥
粉丝 3
博文 13
码字总数 13985
作品 0
杭州
程序员
私信 提问
Yarn大体框架和工作流程研究

一、概述 将公司集群升级到Yarn已经有一段时间,自己也对Yarn也研究了一段时间,现在开始记录一下自己在研究Yarn过程中的一些笔记。这篇blog主要主要从大体上说说Yarn的基本架构以及其各个组...

zengzhaozheng
2018/07/02
0
0
《Hadoop权威指南》书摘-关于YARN

转载请注明出处:http://wangnan.tech 简书:http://www.jianshu.com/u/244399b1d776 简介 Apache YARN (Yet Another Resource Negotiaor的缩写)是Hadoop的集群资源管理系统,YARN被引入Hadoo......

GhostStories
2018/07/27
0
0
2018-07-21期 Hadoop Yarm体系结构剖析

一、简介 YARN(Yet Another Resource Negotiator)是一个通用的资源管理平台,可为各类计算框架提供资源的管理和调度。 其核心出发点是为了分离资源管理与作业调度/监控,实现分离的做法是拥...

JackmaSong
2018/07/23
0
0
Drill-on-YARN之部署

概要 Drill是Apache旗下的一个开源SQL查询引擎,可用于探索大数据。它的设计初衷是为了支持对大数据的高性能分析,同时支持行业标准查询语言ANSI SQL。 在Drill 1.13之前,Drill只支持独立集...

xjy4j
2018/08/28
0
0
Yarn Secure Container Executor配置简介

前面我们简单介绍了Hadoop资源管控简介,提到了目录的空间大小,目录文件个数,yarn任务内存等等资源的管控,如果我们想要对cpu进行控制就需要用到linux系统本身的cgroup。这时候就需要设置Y...

叁金
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MongoDB

关于MongoDb 1、MongoDB是一个开源的、基于分布式的、面向文档存储的非关系型数据库。 2、是非关系型数据库当中功能最丰富、最像关系数据库的。 3、由C++编写, MongoDB可以运行在Windows、u...

谢思华
21分钟前
2
0
Node.js 进程平滑离场剖析

本文由云+社区发表 作者:草小灰 使用 Node.js 搭建 HTTP Server 已是司空见惯的事。在生产环境中,Node 进程平滑重启直接关系到服务的可靠性,它的重要性不容我们忽视。既然是平滑重启,就涉...

腾讯云加社区
29分钟前
1
0
druid等 olap框架对比分析

简介 Druid 是一个开源的,分布式的,列存储的,适用于实时数据分析的存储系统,能够快速聚合、灵活过滤、毫秒级查询、和低延迟数据导入。 Druid在设计时充分考虑到了高可用性,各种节点挂掉...

hblt-j
29分钟前
1
0
Idea 禁用代码重复等警告

在相应方法上添加注解 @SuppressWarnings("action") @Transactional@SuppressWarnings("Duplicates")public void analyzeDpBook(DpBook dpBook) { EpubBook _epubBook = epubBookSe......

lemos
32分钟前
1
0
MaxCompute studio与权限那些事儿

背景知识 MaxCompute拥有一套强大的安全体系,来保护项目空间里的数据安全。用户在使用MaxCompute时,应理解权限的一些基本概念: 权限可分解为三要素,即主体(用户账号或角色),客体(表/...

阿里云官方博客
34分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部