一、YARN产生的背景

MapReduce1.x存在的问题:单点故障&节点压力大不易扩展。

资源利用率&成本

催生了YARN的诞生 

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

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

XXX:Spark/MapReduce/Storm/Flink

二、YARN概述

1 Yet Another Resource Negotiator

2 通用资源管理系统

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

三、YARN的架构

1 ResourceMananger:RM

  整个集群提供服务的RM只有一个(生产中有两个,一个主,一个备),负责集群资源的统一管理和调度。

    |-- 处理客户端的请求:提交一个作业、杀死一个作业。

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

2 NodeManager:NM

  整个集群中有多个,负责自己本身节点资源管理和使用。

    |--定时向RM汇报本节点的资源使用情况。

    |--接收并处理来自RM的各种命令:启动Container等。

    |--处理来自AM的命令。

    |--单个节点的资源管理。

3 ApplicationMaster:AM

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

    |--为每个应用程序向RM申请资源(core、memory),分配给内部task。

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

4 Container

  |--封装了CPU、Memory等资源的一个容器

  |--是一个任务运行环境的抽象。

5 Client

  |--提交作业。

  |--查询作业的运行进度。

  |--杀死作业。

四、YARN执行流程

五、YARN的环境搭建

1 yarn-site.xml

<property>

  <name>yarn.nodemanager.aux-services</name>

  <value>mapreduce_shuffle</value>

</property>

2 mapred-site.xml

<property>

  <name>mapreduce.framework.name</name>

  <value>yarn</value>

</property>

3 启动YARN相关的进程

sbin/start-yarn.sh

4 验证

  |-- jps

    |--ResourceManager

    |--NodeManager

  |-- http://master01:8088/

5 停止YARN相关的进程

sbin/stop-yarn.sh

六、MapReduce作业提交到YARN上运行

命令:

hadoop jar hadoop-mapreduce-examples-2.6.-cdh5.7.0.jar pi 2 3 //前者是Map的数量,后者是取样的数量

hadoop2.x学习笔记(一):YARN的更多相关文章

  1. 二十六、Hadoop学习笔记————Hadoop Yarn的简介复习

    1. 介绍 YARN(Yet Another Resource Negotiator)是一个通用的资源管理平台,可为各类计算框架提供资源的管理和调度. 之前有提到过,Yarn主要是为了减轻Hadoop ...

  2. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  3. Node.js学习笔记(4):Yarn简明教程

    Node.js学习笔记(4):Yarn简明教程. 引入Yarn NPM是常用的包管理工具,现在我们引入是新一代的包管理工具Yarn.其具有快速.安全.可靠的特点. 安装方式 使用npm工具安装yarn ...

  4. Hadoop学习笔记—21.Hadoop2的改进内容简介

    Hadoop2相比较于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了很大的提高,Hadoop2中有两个重要的变更: (1)HDFS的NameNod ...

  5. 分布式计算框架学习笔记--hadoop工作原理

    (hadoop安装方法:http://blog.csdn.net/wangjia55/article/details/53160679这里不再累述) hadoop是针对大数据设计的一个计算架构.如果你 ...

  6. Hadoop学习笔记01_Hadoop搭建

    想往大数据方向转, 难度肯定是有的. 基础知识肯定是要有的,如果是熟悉JAVA开发的人,转向应该优势大. 像我这样的,只有Linux基础以及简单的PHP基础的人,转向难度很大.但是事在人为,努力学习多 ...

  7. hadoop之HDFS学习笔记(二)

    主要内容:hdfs的核心工作原理:namenode元数据管理机制,checkpoint机制:数据上传下载流程 1.hdfs的核心工作原理 1.1.namenode元数据管理要点 1.什么是元数据? h ...

  8. HBase学习笔记之HBase的安装和配置

    HBase学习笔记之HBase的安装和配置 我是为了调研和验证hbase的bulkload功能,才安装hbase,学习hbase的.为了快速的验证bulkload功能,我安装了一个节点的hadoop集 ...

  9. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

随机推荐

  1. [ACM_数据结构] 线段树模板

    #include<iostream> #include<cmath> using namespace std; #define maxn 200005 class Node{ ...

  2. LeetCode135:Candy

    题目: There are N children standing in a line. Each child is assigned a rating value. You are giving c ...

  3. DBCC--CHECKDB--不可被替代的原因

    CHECKSUM不能发现的两类问题 1. 发生在内存中的页错误,如内存损坏+第三方程序修改等 2. MS SQL Server潜在BUG导致的逻辑错误,该类错误可以使用重建索引或重建约束来修复 CHE ...

  4. 运行spark官方的graphx 示例 ComprehensiveExample.scala报错解决

    运行spark官方的graphx 示例 ComprehensiveExample.scala报错解决 在Idea中,直接运行ComprehensiveExample.scala,报需要指定master ...

  5. redis的常用公共方法(2)

    之前已经写过一篇redis公共方法的使用(https://www.cnblogs.com/jhy55/p/7681626.html),可是发现在高并发的时候出现 Unknown reply on in ...

  6. javascript js 完美解决 click 与 dblclick 冲突,并且不会导致click延迟

    示例代码: marker.addEventListener("click", function(){ if (!window.markerClicked) { window.mar ...

  7. JAVA 从头开始<六>

    一.静态代码块 静态代码块不需要创建对象才执行,比对象数据优先存在于内存中 二.静态函数 三.单例设计模式 1.饿汉单例模式 缺点:一声明就创建一个对象,没有使用的话就浪费了. 2.懒汉单例模式 1. ...

  8. c# 判断当前时间是否在某一时间段内

    //获取当前系统时间并判断是否为服务时间 TimeSpan nowDt = DateTime.Now.TimeOfDay; TimeSpan workStartDT = DateTime.Parse( ...

  9. MyCat - 背景篇(1)

    此文已由作者张镐薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. SQL与NoSQL 目前,对于互联网海量数据的存储以及处理,按使用场景,分为OLTP(联机事务处理,比如即时 ...

  10. C#通过rdp账密直接打开远程桌面

    思路是首先新建一个vbs脚本,再创建一个bat脚本,再创建rdp文件,运行顺序是vbs->bat->rdp.rdp文件里面包含远程电脑的账密和其它信息,这样就可以不用再输入账密,而在程序里 ...