1.YARN的产生背景

2.YARN的执行流程

3.YARN的概述

4.YARN的环境搭建

5.YARN的架构

6.如何提交作业到YaRN上执行

YARN的产生MapReduce1.x存在多种问题单节点故障&节点压力大&不支持除了MapReduce之外的计算框架

MapReduce:Master/Slave架构 1个JobTracker带多个TaskTrack

JobTracker :负责资源管理和作业调度

TaskTracker : 定期向JT汇报本节点的健康状况,资源使用情况,作业执行情况

接收来自JT的命令:启动任务/杀死任务

YARN资源的利用率&运维成本

集群多且资源利用率低&运维成本高&数据移动成本高催生了UARN

YARN:不同的计算框架可以享受同一个HDFS集群上的数据,享受整体的资源调度

xxx on YARN 的好处 :与其他计算框架共享集群资源,按资源需要分配:进而提高集群资源的利用率

xx :Spark/MapReduce/Strom/Flink

YARN的概述

Yet Another Resource Negotiator

通用的资源管理系统

为上层应用提供统一的资源管理和调度'

YARN的架构

YARN架构:

1)ResourceManageer:RM

整个集群提供服务的RM只有一个,负责整个集群的统一资源的统一管理和调度/工业上实际有两个\

处理客户端的请求:提交一个作业,杀死一个作业

监控NM,一旦某个NM挂了,那么该NM运行的任务需要告诉AM来如何处理

2)NodeManager:NM

整个集群中有多个,负责自身的资源管理和使用

定时向RM汇报本节点的使用情况

接受并处理来自RM的各种命令,启动Container

处理来自AM的命令

单个节点资源管理是由自己来完成的

3)ApplicationMaster:AM

每个应用程序对应一个:MR,spark,负责应用程序的管理

为应用程序向RM申请资源(core,memory),分配给内部task

需要与NM通信:启动/停止task是运行在Container里面,AM也是运行在Container里面

4)Container

封装了CPU,Memory等资源的一个容器

5)Client

提交作业

查询作业的运行精度

杀死作业

YARN的作业应用

通用架构,无论是改哪个,它就改MapReduceApplicationMaster或者为SparkApplicationMaster

YARN环境搭建

hadoop-2.6.0-cdh5.7.0

yarn-site.xml

mapred-site.xml

YARN ON Single Node

1)

marpred-site.xml

2)yarn-site.xml

如果在Spark则将marpreduce_shuffle 改为 spqrk_shuffle

3)启动进程

Sbin/start-yarn.sh

4)验证

jps

http://hadoop000:8088

5)

停止YARN相关的进程

Sbin/stop-yarn.sh

MapReduce提交作业到YARN上运行

hadoop-mapReduce-examples-2.6.0-5.7.0

这行命令是算Pi的

hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3

这是hadoop UI展示的hadoop的运行状态

YARN 的深入简出的更多相关文章

  1. 深入简出的nginx

    深入简出的nginx hosts的简单介绍 nginx的简单介绍 hosts介绍 谈到nginx我们不得不说hosts hosts的存放在C:\Windows\System32\drivers\etc ...

  2. Vuex 2.0 深入简出

    最近面试充斥了流行框架Vue的各种问题,其中Vuex的使用就相当有吸引力.下面我就将自己深入简出的心得记录如下: 1.在vue-init webpack project (创建vue项目) 2.src ...

  3. 大数据系列博客之 --- 深入简出 Shell 脚本语言(高级篇)

    首先声明,此系列shell系列博客分为四篇发布,分别是: 基础篇:https://www.cnblogs.com/lsy131479/p/9914747.html 提升篇:https://www.cn ...

  4. HDFS之深入简出(一)

    分布式文件系统HDFS 一:概述 1.HDFS设计目标 2.HDFS核心组件 3.HDFS副本机制 4.HDFS环境搭建 5.HDFS shell命令  java api 6.HDFS读写流程 7.H ...

  5. 深入简出mysql--第一部分

    第二章: 1.sql分类 DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段.数据库.表.列.索引等数据库对象的定义. 常用的语句关键字主要包括 ...

  6. 大数据系列博客之 --- 深入简出 Shell 脚本语言(提升篇)

    首先声明,此系列shell系列博客分为四篇发布,分别是: 基础篇:https://www.cnblogs.com/lsy131479/p/9914747.html 提升篇:https://www.cn ...

  7. 大数据系列博客之 --- 深入简出 Shell 脚本语言(基础篇)

    首先声明,此系列shell系列博客分为四篇发布,分别是: 基础篇:https://www.cnblogs.com/lsy131479/p/9914747.html 提升篇:https://www.cn ...

  8. 分布式处理框架MapReduce的深入简出

    1).MapReduce的概述 2).MapReduce 编程模型 3).MapReduce架构 4).MapReduce编程 Google MapReduce论文,论文发表于2004年 Hadoop ...

  9. hadoop深入简出(二)

    1.上传文件 Hadoop fs -put hello.txt / 2.查看上传的文件 hadoop fs -ls / hadoop fs -text /hello.txt 两个命令都可以 3.创建文 ...

随机推荐

  1. HTML5 实现获取 gzip 压缩数据,并进行解压,同时解决汉字乱码,相关 pako.js

    1, 下载 pako.js => http://nodeca.github.io/pako/#Deflate.prototype.onData 2, 首先需要了解一下 XMLHttpReques ...

  2. c++Builder debug DataSet Visualizer

    c++Builder debug DataSet Visualizer delphi 正常,c++builder报错. fdMemTable->SaveToFile("d:\\DSdb ...

  3. 机器学习进阶-项目实战-信用卡数字识别 1.cv2.findContour(找出轮廓) 2.cv2.boudingRect(轮廓外接矩阵位置) 3.cv2.threshold(图片二值化操作) 4.cv2.MORPH_TOPHAT(礼帽运算突出线条) 5.cv2.MORPH_CLOSE(闭运算图片内部膨胀) 6. cv2.resize(改变图像大小) 7.cv2.putText(在图片上放上文本)

    7. cv2.putText(img, text, loc, text_font, font_scale, color, linestick) # 参数说明:img表示输入图片,text表示需要填写的 ...

  4. js的非空校验

    利用TagName获取元素名称,进行批量非空校验 var input = document.getElementsByTagName("input"); for (var i=0; ...

  5. position: relative;导致页面卡顿

    1.现象: vue单页面项目 只有在某个页面切换的时候出现页面卡顿现象 经过长时间排查 确定最终原因是 该模块外层div使用  position: relative 根本原因:待完善

  6. VULKAN学习资料收集

    https://github.com/vinjn/awesome-vulkan 张静初 https://zhuanlan.zhihu.com/p/24798656 知乎 https://develop ...

  7. 【365】拉格朗日乘子法与KKT条件说明

    参考:知乎回答 - 通过山头形象描述 参考:马同学 - 如何理解拉格朗日乘子法? 参考: 马同学 - 如何理解拉格朗日乘子法和KKT条件? 参考:拉格朗日乘数 - Wikipedia 自己总结的规律 ...

  8. python实现根据文件关键字进行切分为多个文件

    来源:在工作过程中,需要统计一些trace信息,也就是一些打点信息,而打点是通过关键字进行的,因此对一个很大的文件进行分析时,想把两个打点之间的内容单独拷贝出来进行分析 #!/usr/bin/env ...

  9. PL/SQL编码规范的一些建议

    由于业务的复杂多变,我们编写完的程序,在后期肯定要被修改,而且修改的人很可能不是自己.这种情况我们都遇到过. 而且,看别人的代码可能会觉得很痛苦:为什么他要这样写相关逻辑?为什么变量名称要这样定义?换 ...

  10. python批量操作Linux服务器脚本,key登录(执行命令、上传、下载)(二)

       -*-   2 #批量操作linux服务器(执行命令,上传,下载)   3 #!/usr/bin/python   4 import paramiko   5 import datetime   ...