一、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. 项目笔记---事半功倍之StyleCop(一)

    前言 曾几何时,你是否在看别人代码的时候总是在抱怨代码没有注释,命名不规范,代码风格不统一,代码可读性差?是否有一个适合团队开发规范的检查工具? 答案就是大名鼎鼎的StyleCop代码检查插件,有了这 ...

  2. 射线和三角形的相交检测(ray triangle intersection test)【转】

    本文以Fast, Minimum Storage Ray Triangle Intersection为参考,在此感谢原作者,大家也可以直接阅读原版. 概述 射线和三角形的相交检测是游戏程序设计中一个常 ...

  3. Django安装(第一个项目)

    day60 从系统中选择已存在的解释器. 新建Django项目         命令行创建:             django-admin startproject mysite          ...

  4. poj1220------高精度进制转换模板

    #include<iostream> #include<cstdio> #include<cstring> using namespace std; const i ...

  5. Flask从入门到精通之模型定义

    模型这个术语表示程序使用的持久化实体.在ORM 中,模型一般是一个Python 类,类中的属性对应数据库表中的列. Flask-SQLAlchemy 创建的数据库实例为模型提供了一个基类以及一系列辅助 ...

  6. [JavaScript] 根据字符串宽度截取字符串

    /** * 根据字符串宽度截取字符串 * @param desc 原始字符串 * @param width 该显示的宽度 * @param fontsize 字体大小 12px * @returns ...

  7. 深度学习笔记(六)VGG14

    Very Deep Convolutional Networks for Large-Scale Image Recognition 1. 主要贡献 本文探究了参数总数基本不变的情况下,CNN随着层数 ...

  8. MFC多线程技术

    MFC中有两类线程,分别称之为工作者线程和用户界面线程.二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环. 工作者线程没笑消息机制,通常用来执行后台计算和维护任务,如 ...

  9. JS: 数据结构与算法之栈

    栈 先来看一道题 Leetcode 32 Longest Valid Parentheses (最长有效括号) 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度. 示例 ...

  10. POJ 2376

    #include<iostream>//by chengdacaizi. #include<stdio.h> #define MAXN 25005 using namespac ...