初始Yarn
YARN
产生背景
MapReduce1.x存在的问题:单点故障&节点压力大、不易扩展


资源利用率&运维成本


催生了YARN的诞生


YARN:不同计算框架可以共享同一个HDFS集群上的数据,享受整体的资源调度
xxx on YARN的好处:与其他计算框架共享集群资源,按资源需要分配,进而提高集群资源的利用率
xxx :Spark/MapReduce/Storm/Flink
YARN概述
yarn架构
通用的资源管理系统
为上一层应用提供统一的资源管理和调度
架构


ResourceManager:RM
整个集群同一时间提供服务的RM只有一个,负责集群资源的统一管理的调度
处理客户端的请求:提交一个作业、杀死一个作业
监控我们的NM,一旦某个NM挂了,那么该NM上运行的任务需要告诉我们的AM
NodeManager:NM
整个集群中有多个,负责自己本身节点资源管理和使用
定时向RM汇报本节点的资源使用情况
接收并处理来自RM的各种命令:启动Container
处理来自AM的命令
单个节点的资源管理
ApplicationMaster:AM
每一个应用程序对应一个:MR、Spark,负责应用程序的管理
为应用程序向RM申请资源(core,memory),分配给内部task
需要与NM通信:启动/停止task,task是运行在container里面,AM也运行在container里面
Container
封装了CPU、Memory等资源的一个容器
是一个任务运行环境的抽象
Client
提交作业
查询作业的运行进度
杀死作业
yarn执行流程


初始Yarn的更多相关文章
- Samza在YARN上的启动过程 =》 之二 submitApplication
首先,来看怎么构造一个org.apache.hadoop.yarn.client.api.YarnClient class ClientHelper(conf: Configuration) exte ...
- Hadoop Yarn内存资源隔离实现原理——基于线程监控的内存隔离方案
注:本文以hadoop-2.5.0-cdh5.3.2为例进行说明. Hadoop Yarn的资源隔离是指为运行着不同任务的“Container”提供可独立使用的计算资源,以避免它们之间相互干扰.目 ...
- 4 weekend110的hdfs&mapreduce测试 + hdfs的实现机制初始 + hdfs的shell操作 + 无密登陆配置
Hdfs是根/目录,windows是每一个盘符, 1 从Linux里传一个到,hdfs里去 2 从hdfs里下一个到,linux里去 想从hdfs里,下载到linux, 涨知识,记住,hdfs是建 ...
- MapReduce扩展:应用程序如何运行于Hadoop Yarn之上
1. 背景 “应用程序运行于Hadoop Yarn之上”的需求来源于微博运维数据平台中的调度系统,即调度系统中的任务需要运行于Hadoop Yarn之上.这里的应用程序可以简单理解为一个普通的进程 ...
- MapRdeuce&Yarn的工作机制(YarnChild是什么)
MapRdeuce&Yarn的工作机制 一幅图解决你所有的困惑 那天在集群中跑一个MapReduce的程序时,在机器上jps了一下发现了每台机器中有好多个YarnChild.困惑什么时Yarn ...
- Nuxtjs初始
今天去看vue的官网,才看了他的升级版-->Nuxtjs,https://nuxtjs.org/guide/installation可以点击链接进入他的官网查看文档 第一步,搭建项目之前的准备工 ...
- Spark记录-实例和运行在Yarn
#运行实例 #./bin/run-example SparkPi 10 #./bin/spark-shell --master local[2] #./bin/pyspark --master l ...
- 有关python numpy pandas scipy 等 能在YARN集群上 运行PySpark
有关这个问题,似乎这个在某些时候,用python写好,且spark没有响应的算法支持, 能否能在YARN集群上 运行PySpark方式, 将python分析程序提交上去? Spark Applicat ...
- Hadoop(七)YARN的资源调度
一.YARN 概述 YARN 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操 作系统平台,而 MapReduce 等运算程序则相当于运行于操作系统之上的应用程序 YARN ...
随机推荐
- Spring Boot 2.0(二):Spring Boot 开源软件都有哪些?(转)
2016年 Spring Boot 还没有被广泛使用,在网上查找相关开源软件的时候没有发现几个,到了现在经过2年的发展,很多互联网公司已经将 Spring Boot 搬上了生产,而使用 Spring ...
- andorid 三种方式的练习
layout1 线性布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml ...
- ubuntu下安装配置ADB
1.下载SDK Tools for Linux,地址:http://developer.android.com/sdk/index.html 2.解压,将 android-sdk-linux 文件夹放 ...
- qt小程序
hello: #include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApp ...
- Java中创建对象的四种方法
第一种 使用new关键字 第二种 使用反射技术:1)通过Class类的newInstance()方法:2)通过Constructor类的newInstance方法 第三种 通过Object类的clon ...
- partition
一.背景 1.在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念. 2.分区表指的是在创建表 ...
- python线程池
https://blog.csdn.net/qq_33961117/article/details/82587873#!/usr/bin/python # -*- coding: utf- -*- f ...
- IOS初级:app的启动图像
1,准备若干张适合不同设备满屏幕的图像 这里补充说明一下图像的命名方法: iphone4屏幕 Default@2x.png iphone5屏幕 Default-568h@2x.png (568*2即 ...
- windows + php7.1 + redis3.1.4
首先确定PHP版本(MSVC14 x64 NTS) 下载redis扩展 拷贝php ext目录,修改php.ini配置,添加 extension=php_redis.dll 重启apache,确认re ...
- C#中隐式运行CMD命令行窗口的方法
using System; using System.Diagnostics; namespace Business { /// <summary> /// Command 的摘要说明. ...