YARN框架详解
YARN框架详解
YARN官方解释
YARN是什么
The fundamental(定义) idea of YARN is to split(分开) up the functionalities(功能) of resource management and job scheduling/monitoring(进程调度) into separate(独立) daemons(守护进程). The idea is to have a global ResourceManager (RM) and per-application ApplicationMaster (AM). An application is either a single job or a DAG(有向无环图(Directed Acyclic Graph)) of jobs.

ResourceManager
全局的资源管理器,整个集群只有一个,负责集群资源的统一管理和调度分配。
*处理客户端请求
*启动/监控ApplicationMaster
*监控NodeManerger
*资源分配与调度
NodeManager
整个集群有多个,负责单个节点的资源管理和使用
*单个节点上的资源管理和任务管理
*处理来自ResourceManeger的命令
*处理来自ApplicationMaster的命令
NodeManager管理抽象容器,这些容器代表着可供一个特定应用程序使用的针对每个节点的资源
定时向ResourceManager汇报本节点上的资源使用情况和各个Container的运行情况
ApplicationMaster
管理一个在YARN内运行的应用程序的每个实例
*为应用程序申请资源,进一步分配给内部任务
*任务监控与容错
负责协调来自ResourceManager的资源,并通过NodeManager监控容器的执行和资源使用(CPU、内存等的资源分配)
Container
YARN中的资源抽象,封装某个节点上多维度资源,如内存、CPU、磁盘、网络等。当ApplicationManager向ResourceManager申请资源时便是用的Container表示的
YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源
*对任务运行环境的抽象
*描述一系列信息
*任务运行资源(节点、内存、CPU)
*任务启动命令
*任务运行环境
资源的管理
(资源:CPU、内存和IO,YARN支持CPU和内存的调度,内存的多少会决定任务的生死,CPU仅仅决定了任务运行速度)
资源的调度和隔离是YARN作为一个资源管理系统,最重要和最基础的两个功能。资源调度由ResourceManager完成,而资源的隔离由各个NodeManager实现。
资源调度
ResourceManager将某个NodeManager上资源分配给任务。
资源隔离
NodeManager需按要求为任务提供相应的资源,甚至保证这些资源具有独占性,为任务运行提供基础的保证
YARN框架详解的更多相关文章
- hadoop框架详解
Hadoop框架详解 Hadoop项目主要包括以下四个模块 ◆ Hadoop Common: 为其他Hadoop模块提供基础设施 ◆ Hadoop HDFS: 一个高可靠.高吞吐量的分布式文件系统 ◆ ...
- Spark2.1.0——内置Web框架详解
Spark2.1.0——内置Web框架详解 任何系统都需要提供监控功能,否则在运行期间发生一些异常时,我们将会束手无策.也许有人说,可以增加日志来解决这个问题.日志只能解决你的程序逻辑在运行期的监控, ...
- jQuery Validate验证框架详解
转自:http://www.cnblogs.com/linjiqin/p/3431835.html jQuery校验官网地址:http://bassistance.de/jquery-plugins/ ...
- mina框架详解
转:http://blog.csdn.net/w13770269691/article/details/8614584 mina框架详解 分类: web2013-02-26 17:13 12651人 ...
- lombok+slf4j+logback SLF4J和Logback日志框架详解
maven 包依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lomb ...
- [Cocoa]深入浅出 Cocoa 之 Core Data(1)- 框架详解
Core data 是 Cocoa 中处理数据,绑定数据的关键特性,其重要性不言而喻,但也比较复杂.Core Data 相关的类比较多,初学者往往不太容易弄懂.计划用三个教程来讲解这一部分: 框架详解 ...
- iOS 开发之照片框架详解(2)
一. 概况 本文接着 iOS 开发之照片框架详解,侧重介绍在前文中简单介绍过的 PhotoKit 及其与 ALAssetLibrary 的差异,以及如何基于 PhotoKit 与 AlAssetLib ...
- Quartz.NET作业调度框架详解
Quartz.NET作业调度框架详解 http://www.cnblogs.com/lmule/archive/2010/08/28/1811042.html
- mapreduce框架详解
hadoop 学习笔记:mapreduce框架详解 开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感 ...
随机推荐
- [原创]KVM虚拟化实践记录
一.KVM简介KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机),是一个开源的系统虚拟化模块,基于硬件的完全虚拟化,不过需要硬件支持(如Intel V ...
- APUE-文件和目录(一)
4.1 函数stat 函数stat返回与此命名文件有关的信息结构.下面的代码实现了一个工具,显示树形目录结构,需要加两个参数,一个为目录名,一个为显示目录的深度. #include <sys/s ...
- 查看c语言的函数运行时间的简单模板
/* clock():捕捉从程序开始运行到 clock() 被调用时所耗费的时间,时间单位 是clock tick, 即:"时钟打点". 常数CLK_TCK:机器时钟每秒所走的时钟 ...
- JVM点滴
JVM java拥有GC,为什么还会内存泄漏? 理解什么是内存泄漏: Java中的内存泄露,广义并通俗的说,就是:不再会被使用的对象的内存不能被回收,就是内存泄露. Java为了简化编程工作,对于不再 ...
- 腾讯AlloyTeam发布AlloyLever - 开发调试发布错误监控上报用户问题定位尽在1kb代码
AlloyLever [官网][Giuhub] 1kb(gzip)代码搞定开发调试发布,错误监控上报,用户问题定位. 支持错误监控和上报 支持 vConsole错误展示 支持开发阶段使用 vConso ...
- Xamarin开发笔记—WebView双项事件调用
1.Xamarin调用WebView: 原理:Xamarin.Forms WebView内置方法xx.Eval(..)可以调用到页面里面的js函数. WebView展示的代码如下: var htmlS ...
- JavaWeb系列:Servlet
个人整理,欢迎转载与批评建议,转载请添加索引,谢谢. ---------------------------------------------------------------2017.06.10 ...
- PHP的面向对象 — 封装、继承、多态
K在上一次的基础篇中给大家介绍了一下关于PHP中数组和字符串的使用方法等,这一次,K决定一次性大放送,给大家分享一下PHP中面向对象的三大特性:封装.继承.多态三个方面的知识. 一.封装 在PHP中, ...
- JavaScript设计模式_05_发布订阅模式
发布-订阅模式,定义了对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都将得到通知.发布-订阅模式是使用比较广泛的一种模式,尤其是在异步编程中. /* * pre:发布-订阅 ...
- PHP编译
编译php-5.3.6的时候需要先打一个内存泄露的补丁,具体的操作如下 tar vzxf suhosin-0.9.32.1.tar.gz tar vjxf php-5.3.6.tar.bz2 cd p ...