014 再次整理关于hadoop中yarn的原理及运行
一:对yarn的理解
1.关于yarn的组成
大约分成主要的四个。
Resourcemanager,Nodemanager,Applicationmaster,container
2.Resourcemanager(RM)的理解
RM是全局资源管理器,负责整个系统的资源管理和分配。
主要由两个组件组成:调度器和应用程序管理器(ASM)
调度器:根据容量,队列等限制条件,将系统中的资源分配给各个正在运行的应用程序,不负责具体应用程序的相关工作,比如监控或跟踪状态
应用程序管理器:负责管理整个系统中所有应用程序
3.Applicationmaster(AM)
用户提交的每个应用程序均包含一个AM
AM的主要功能:
(1)与RM调度器协商以获取资源(用Container表示)
(2)将得到的任务进一步分配给内部的任务
(3)与NM通信以自动/停止任务
(4)监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务
当前YARN自带了两个AM实现:
一个用于演示AM编写方法的实例程序distributedshell
一个用于Mapreduce程序---MRAppMaster
其他的计算框架对应的AM正在开发中,比如Spark等
4.Nodemanager
NM是每个节点上的资源和任务管理器
(1)定时向RM汇报本节点上的资源使用情况和各个Container的运行状态
(2)接收并处理来自AM的Container启动/停止等各种要求
5.container
Container是YARN中的资源抽象,它封装了某个节点上的多维度资源
YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源
二:mapreduce在yarn上运行
1.流程图

2.流程
(1):由客户端提交一个应用,由RM的ASM接受应用请求
提交过来的应用程序包括哪些内容:
a:ApplicationMaster
b:启动Applicationmaster的命令
c:本身应用程序的内容
(2):提交了三部分内容给RM,然后RM找NodeManager,然后Nodemanager就启用Applicationmaster,并分配Container
接下来我们就要执行这个任务了,
(3):但是执行任务需要资源,所以我们得向RM的ASM申请执行任务的资源(它会在RM这儿注册一下,说我已经启动了,注册了以后就可以通过RM的来管理,我们用户也可以通过RM的web客户端来监控任务的状态)ASM只是负责APplicationMaster的启用
(4)我们注册好了后,得申请资源,申请资源是通过第四步,向ResourceScheduler申请的
(5)申请并领取资源后,它会找Nodemanager,告诉他我应经申请到了,然后Nodemanager判断一下,
(6)知道他申请到了以后就会启动任务,当前启动之前会准备好环境,
(7)任务启动以后会跟APplicationmaster进行通信,不断的心跳进行任务的汇报。
(8)完成以后会给RM进行汇报,让RSM撤销注册。然后RSM就会回收资源。当然了,我们是分布式的,所以我们不会只跟自己的Nodemanager通信。也会跟其他的节点通信。
三:参考
1.连接
主要参考文章
http://blog.csdn.net/wust__wangfan/article/details/48650889
014 再次整理关于hadoop中yarn的原理及运行的更多相关文章
- hadoop中yarn
一.yarn的概述 Apache Yarn(Yet Another Resource Negotiator的缩写)是hadoop集群资源管理器系统,Yarn从hadoop 2引入,最初是为了改善Map ...
- Hadoop中HDFS工作原理
转自:http://blog.csdn.net/sdlyjzh/article/details/28876385 Hadoop其实并不是一个产品,而是一些独立模块的组合.主要有分布式文件系统HDFS和 ...
- 浅谈hadoop中mapreduce的文件分发
近期在做数据分析的时候.须要在mapreduce中调用c语言写的接口.此时就须要把动态链接库so文件分发到hadoop的各个节点上,原来想自己来做这个分发,大概过程就是把so文件放在hdfs上面,然后 ...
- centos中-hadoop单机安装及伪分布式运行实例
创建用户并加入授权 1,创建hadoop用户 sudo useradd -m hadoop -s /bin/bash 2,修改sudo的配置文件,位于/etc/sudoers,需要root权限才可以读 ...
- Hadoop和YARN :map+shuffle+reduce走读
今天做了一个hadoop分享,总结下来,包括mapreduce,及shuffle深度讲解,还有YARN框架的详细说明等. v\:* {behavior:url(#default#VML);} o\:* ...
- hadoop MapReduce Yarn运行机制
原 Hadoop MapReduce 框架的问题 原hadoop的MapReduce框架图 从上图中可以清楚的看出原 MapReduce 程序的流程及设计思路: 首先用户程序 (JobClient) ...
- Hadoop MapReduceV2(Yarn) 框架简介[转]
对于业界的大数据存储及分布式处理系统来说,Hadoop 是耳熟能详的卓越开源分布式文件存储及处理框架,对于 Hadoop 框架的介绍在此不再累述,读者可参考 Hadoop 官方简介.使用和学习过老 H ...
- Hadoop中两表JOIN的处理方法(转)
1. 概述 在传统数据库(如:MYSQL)中,JOIN操作是非常常见且非常耗时的.而在HADOOP中进行JOIN操作,同样常见且耗时,由于Hadoop的独特设计思想,当进行JOIN操作时,有一些特殊的 ...
- Hadoop 中疑问解析
Hadoop 中疑问解析 FAQ问题剖析 一.HDFS 文件备份与数据安全性分析1 HDFS 原理分析1.1 Hdfs master/slave模型 hdfs采用的是master/slave模型,一个 ...
随机推荐
- 【BZOJ3832】[POI2014]Rally(拓扑排序,动态规划)
[BZOJ3832][POI2014]Rally(拓扑排序,动态规划) 题面 BZOJ,权限题 洛谷 题解 这题好强啊,感觉学了好多东西似的. 首先发现了一个图画的很好的博客,戳这里 然后我来补充一下 ...
- 动态生成web表-asp.net table
1. 页面上定义一个server 的table <table style="width: 100%" id="tbContent" runat=" ...
- jq给单选框 radio添加或删除选中状态
$("#div1 :radio").removeAttr("checked");//删除目标div下所有单选框的选中状态 $("#div1 :radi ...
- mysqldump --master-data=2 --single-transaction
转载于https://blog.csdn.net/linuxheik/article/details/714808821 mysqldump导出数据主要有两种控制:一种是导出的全过程都加锁 lock- ...
- Java基本语法---个人参考资料
Java语言基础组成:关键字.标识符.注释.常量和变量.运算符.语句.函数.数组 一.标识符 标识符是在程序中自定义的一些名称,由大小写字母[a-zA-Z],数字[0-9],下划线[ _ ],特殊字符 ...
- 解决 django 博客归档 “Are time zone definitions for your database and pytz installed?”的错误
修改 project 中的settings 文件,问题解决! # USE_TZ = True USE_TZ = False # LANGUAGE_CODE = 'en-us' LANGUAGE_COD ...
- Object和泛型
这俩东东呢实现的效果是一样的,但是它们俩的效率不一样,原理也不一样.直接说结论吧,泛型比Object好用,效率高.因为Object有一个装箱和拆箱的过程,倘若是很多的数据那效率就低到不行了,而泛型没有 ...
- Spark记录-spark与storm比对与选型(转载)
大数据实时处理平台市场上产品众多,本文着重讨论spark与storm的比对,最后结合适用场景进行选型. 一.spark与storm的比较 比较点 Storm Spark Streaming 实时计算模 ...
- Intellij-idea 如何编译maven工程
小编最近效应项目的要求,学习在idea上编写项目.作为一个新手遇到问题也算是正常的,重要的是把它解决,get新技能. 编写过maven工程的小伙伴们应该都知道怎么在eclipse中编译maven工程: ...
- 从零开始写一个武侠冒险游戏-0-开发框架Codea简介
从零开始写一个武侠冒险游戏-0-开发框架Codea简介 作者:FreeBlues 修订记录 2016.06.21 初稿完成. 2016.08.03 增加对 XCode 项目文件的说明. 概述 本游戏全 ...