Yarn集群的资源调度


介绍

  • 概述

    YarnHadoop 2.x 引入的新的资源管理系统模块,主要用于管理集群当中的资源(主要是服务器的各种硬件资源,比如内存CPU等),它不光管理硬件资源,还管理运行的一些任务信息等。

  • Yarn调度资源可以分为两个层级

    一级管理调度:管理计算机的资源、运行job任务的生命周期

    二级管理调度:任务的计算模型(maptask,reducetask的代码)、多样化的计算模型(spark,storm)

  • yarn集群当中各个组件的作用

    ResourceManager:主节点,主要用于接受用户请求,分配资源

    NodeManager:从节点,主要用于处理任务的计算

    ApplicationMaster:每提交一个任务,启动一个appmaster,它全权负责管理我们任务的执行。

               主要职责:申请资源,分配资源(分配Container),监控任务执行的进度状况,回收资源,和resourceManager通信,报告任务的执行状况“自杀”

    Container:资源分配的单位,所有的资源都是以caontainer的形式来进行划分的,便于资源的分配和回收

    JobHistoryServer:历史完成的任务信息

    TimeLineServer:2.4版本之后出来的新特性,查看正在执行任务的信息


调度器

  • 概述

    调度器解决任务先后提交如何保证任务最快执行的一种策略,研究的是任务之间如何一起执行的问题

  • Hadoop当中的调度器主要有三种

    第一种fifo 队列调度器(first in first out)(没人用)

    运行规则:第一个任务来了,先执行,第二个任务来了,等着

    弊端:如果有一个很大的计算任务先来,需要执行两个小时,再来一个小任务,需要两分钟,第二个任务必须要等第一个完成。

    第二种capacity scheduler 容量调度器(apache的hadoop版本默认使用的调度器)

    运行规则:将集群的资源,划分成好几个队列,任务提交的时候,可以选择不同的队列进行提交。

    优点:根据提交任务需要资源的大小不同,可以将任务划分到不同给的队列下面去。

    第三种fair scheduler 公平调度器(CDH版本的hadoop默认的调度规则)

    运行规则:如果没有任务提交,收到第一个任务,将进群当中所有的资源全部给第一个任务,如果此时收到第二个任务,就会将第一个任务的资源划分一点出来给第二个任务,让第二个任务也可以执行,以此类推,保证每一个任务都可以公平地一起执行

  一般调度器不改


Yarn常用参数设置

  • yarn.nodemanager.resource.memory-mb

    定义每台机器的内存使用大小,默认8192M

  • yarn.nodemanager.resource.cpu-vcores

    定义每台机器的虚拟内核使用大小,默认8个

  • yarn.nodemanager.vmem-pmem-ratio 2.1

    定义交换区空间可以使用的大小(交换区空间就是讲一块硬盘拿出来做内存使用)

    这里指定的是nodemanager的n内存的2.1倍


tips

yarn的发展历程以及详细介绍:https://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/

【Hadoop离线基础总结】Yarn集群的资源调度的更多相关文章

  1. 【原创 Hadoop&Spark 动手实践 5】Spark 基础入门,集群搭建以及Spark Shell

    Spark 基础入门,集群搭建以及Spark Shell 主要借助Spark基础的PPT,再加上实际的动手操作来加强概念的理解和实践. Spark 安装部署 理论已经了解的差不多了,接下来是实际动手实 ...

  2. Hadoop 系列(二)—— 集群资源管理器 YARN

    一.hadoop yarn 简介 Apache YARN (Yet Another Resource Negotiator) 是 hadoop 2.0 引入的集群资源管理系统.用户可以将各种服务框架部 ...

  3. 【Hadoop离线基础总结】oozie的安装部署与使用

    目录 简单介绍 概述 架构 安装部署 1.修改core-site.xml 2.上传oozie的安装包并解压 3.解压hadooplibs到与oozie平行的目录 4.创建libext目录,并拷贝依赖包 ...

  4. Hadoop(四)HDFS集群详解

    前言 前面几篇简单介绍了什么是大数据和Hadoop,也说了怎么搭建最简单的伪分布式和全分布式的hadoop集群.接下来这篇我详细的分享一下HDFS. HDFS前言: 设计思想:(分而治之)将大文件.大 ...

  5. Apache Hadoop 2.9.2 的集群管理之服役和退役

    Apache Hadoop 2.9.2 的集群管理之服役和退役 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 随着公司业务的发展,客户量越来越多,产生的日志自然也就越来越大来,可能 ...

  6. YARN集群的mapreduce测试(四)

    将手机用户使用流量的数据进行分组,排序: 测试准备: 首先同步时间,然后master先开启hdfs集群,再开启yarn集群:用jps查看: master上: 先有NameNode.SecondaryN ...

  7. Hadoop 2.7.3 分布式集群安装

    1. 集群规划: 192.168.1.252 palo252 Namenode+Datanode 192.168.1.253 palo253 YarnManager+Datanode+Secondar ...

  8. 【Hadoop离线基础总结】Hue的简单介绍和安装部署

    目录 Hue的简单介绍 概述 核心功能 安装部署 下载Hue的压缩包并上传到linux解压 编译安装启动 启动Hue进程 hue与其他框架的集成 Hue与Hadoop集成 Hue与Hive集成 Hue ...

  9. 【Hadoop离线基础总结】impala简单介绍及安装部署

    目录 impala的简单介绍 概述 优点 缺点 impala和Hive的关系 impala如何和CDH一起工作 impala的架构及查询计划 impala/hive/spark 对比 impala的安 ...

随机推荐

  1. pickle\json,configparser,hashlib模块

    python常用模块 目录 python常用模块 json模块\pickle模块 configparser模块 hashlib模块 subprocess模块 json模块\pickle模块 首先说一下 ...

  2. Java Instrumentation插桩技术学习

    Instrumentation基础 openrasp中用到了Instrumentation技术,它的最大作用,就是类的动态改变和操作. 使用Instrumentation实际上也可以可以开发一个代理来 ...

  3. Jmeter实现multipart/form-data类型请求

    http请求有三种content-type:application/json.x-www-form-urlencoded.multipart/form-data,前两种比较常见,这里主要说multip ...

  4. 排序算法代码实现-Java

    前言 为了准备面试,从2月开始将排序算法认认真真得刷了一遍,通过看书看视频,实践打代码,还有一部分的leetcode题,自己感觉也有点进步,将笔记记录总结发出来. 冒泡排序 该排序就是一种像泡泡浮到水 ...

  5. 容易忽略的CSS3属性

    flex布局模型 1. flex-direction: row |  row-reverse | column | column-reverse flex-direction 属性决定主轴的方向(即项 ...

  6. python 利用numpy同时打乱列表的顺序,同时打乱数据和标签的顺序

    可用于网络训练打乱训练数据个标签,不改变对应关系 方法一: np.random.shuffle (无返回值,直接打乱原列表) state = np.random.get_state() np.rand ...

  7. echarts迁徙图

    前段时间在echarts社区,看见别人写的echarts迁徙图,学习并也写了一个 预览地址: https://gallery.echartsjs.com/editor.html?c=xYS-YtzOa ...

  8. Inno Setup 大师 Tlama

    https://stackoverflow.com/users/960757/tlama

  9. c++中set 的用法

    1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构 ...

  10. Hybrid Automata 混合自动机入门

    混合自动机用来建立混合系统的数学模型.混合系统包括时间驱动部分和事件驱动部分.事件驱动部分就是几种模式,事件驱动部分就是微分方程.一个例子是汽车换挡,一档二档三档这些挡位就是事件驱动部分,时间驱动部分 ...