Hadoop资源管理由两部分组成:资源表示模型和资源分配模型。其中,资源表示模型用于描述资源的组织方式,Hadoop采用“槽位”(slot)组织各节点上的资源;而资源分配模型则决定如何将资源分配给各个作业/任务,在Hadoop中,这一部分由一个插拔式的调度器完成。
Hadoop引入了“slot”概念表示各个节点上的计算资源。为了简化资源管理,hadoop将各个节点上的资源(CPU、内存和磁盘等)等量切分成若干份,每一份用一个slot表示,同时规定一个Task可根据实际需要占用多个slot。通过引入“slot”这一概念,Hadoop将多维度资源抽象简化成一种资源(slot),从而大大简化了资源管理问题。
更进一步说,slot相当于任务运行“许可证”。一个任务只有得到该“许可证”后,才能够获得运行的机会,这也意味着,每个节点上的slot数目决定了该节点上的最大允许的任务并发度。为了区分Map Task和Reduce Task所用资源量的差异,slot又被分为Map slot和Reduce slot两种,它们分别只能被Map Task和Reduce Task使用。Hadoop集群管理员可根据各个节点硬件配置和应用特点为它们分配不同的Map slot数(由参数mapred.tasktracker.map.tasks.maximum指定)和Reduce slot数(由参数mapred.tasktracker.reduce.tasks.maximum指定)。
在分布式计算领域中,资源分配问题实际上是一个任务调度问题。它的主要任务是根据当前集群中各个节点上的资源(包括CPU、内存和网络等资源)剩余情况与各个用户作业的服务质量(Quality of Service)要求,在资源和作业/任务之间做出最优的匹配。由于用户对作业服务质量的要求是多样化的,因此分布式系统中的任务调度是一个多目标优化问题,更进一步说,它是一个典型的NP问题。
在Hadoop中,由于Map Task和Reduce Task运行时使用了不同种类的资源(不同种类的slot),且这两种资源之间不能混用,因此任务调度器分别对Map Task和Reduce Task单独进行调度。而对于同一个作业而言,Reduce Task和Map Task之间存在数据依赖关系,默认情况下,当Map Task完成数目达到总数的5%(可通过参数mapred.reduce.slowstart.completed.maps配置)后,才开始启动Reduce Task(Reduce Task开始被调度)。
一个作业从提交到开始执行的过程如果所示,整个过程大约需7步

1)步骤1:客户端调用作业提交函数将程序提交到JobTracker端
2)步骤2:JobTracker收到新作业后,通知任务调度器(TaskScheduler)对作业进行初始化;
3)步骤3:某个TaskTracker向JobTracker汇报心跳,其中包含剩余的slot数目和能否接收新任务等信息;
4)步骤4:如果该TaskTracker能够接收新任务,则JobTracker调用TaskScheduler对外函数assignTasks为该TaskTracker分配新任务;
5)步骤5:TaskScheduler按照一定的调度策略为该TaskTracker选择最合适的任务列表,并将该列表返回给JobTracker
6)步骤6:JobTracker将任务列表以心跳应答的形式返回给对应的TaskTracker;
7)步骤7:TaskTracker收到心跳应答后,发现有需要启动的新任务,则直接启动该任务

Hadoop资源管理相关推荐

  1. Hadoop技术(二)资源管理器YARN和分布式计算框架MapReduce

    资源管理器YARN和分布式计算框架MapReduce 第一章 Hadoop MapReduce 是什么 一 MapReduce 介绍 1. 基本介绍 2. MR数据流程方向 3. MR 原语/ 核心思 ...

  2. 2021年大数据Hadoop(二十五):YARN通俗介绍和基本架构

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 YARN通俗介绍和基本架构 Yarn通俗介绍 Yarn基本 ...

  3. Spark+hadoop+mllib及相关概念与操作笔记

    Spark+hadoop+mllib及相关概念与操作笔记 作者: lw 版本: 0.1 时间: 2016-07-18 1.调研相关注意事项 a) 理解调研 调研的意义在于了解当前情况,挖掘潜在的问题, ...

  4. Hadoop多用户作业调度器和安全机制的自我总结

    在掌握Hadoop平台上,一直有两个疑问困扰着: 1)Hadoop的用户和用户组和Linux操作系统用户和用户组之间的关系: 2)多用户下,Hadoop平台如何管理以保证作业调度和文件安全: 先说下H ...

  5. Hadoop生态系统的详细介绍

    hadoop生态系统的详细介绍 简介 Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算.今 ...

  6. Hadoop学习笔记

    1.Hadoop安装 Apache的国内镜像地址: 地址1:http://mirror.bit.edu.cn/apache/ 地址2:https://mirrors.tuna.tsinghua.edu ...

  7. 大数据学习笔记:Hadoop生态系统

    文章目录 一.Hadoop是什么 二.Hadoop生态系统图 三.Hadoop生态圈常用组件 (一)Hadoop (二)HDFS (三)MapReduce (四)Hive (五)Hbase (六)Zo ...

  8. hadoop生态系统的详细介绍-详细一点

    前提 日常喜欢看一些微信分享的好文,总结下来,可以作为过滤器吧(节约更多人的时间!),在这里引用的是别人的文章!对原文的作者表示感谢!确实写的很好! hadoop生态系统的详细介绍 简介 Hadoop ...

  9. 2.2.1 hadoop体系之离线计算-mapreduce分布式计算-mapreduce架构概念

    目录 1.写在前面 2.为什么需要MapReduce? 3.MapReduce具体细节 3.1 Hadoop MapReduce构思: 4.block,split,map,reduce关系 5.Shu ...

  10. Hadoop大数据分析及数据挖掘 读书笔记(1)

    前言 阅读时间:20180318-20180322 来源:Kindle 数据挖掘基础 数据挖掘的概念: 从数据中"淘金",从大量数据(文本)中挖掘出隐含的.未知的.对决策有潜在的关 ...

最新文章

  1. Boost boost_1_63_0安装 gcc4.8 gcc5.4
  2. android组件通讯 Intent- 系统标准的Activity Action应用
  3. linux手机远程桌面连接软件下载,HomeCenter手机远程桌面下载_HomeCenter手机远程桌面官方下载-太平洋下载中心...
  4. maven整合@data注解_springboot整合spring Cache(redis)
  5. VC++动态链接库(DLL)编程深入浅出
  6. python在统计专业的应用_Python:使用Counter进行计数统计
  7. vbs代码炫酷效果_Python|实现黑客帝国代码雨效果
  8. 【python基础知识】error C1083: 无法打开包括文件: “numpy/arrayobject.h”: No such file
  9. 力士乐电源模块故障代码_奥的斯电梯OVF402,OVF404,OVF406驱动器故障代码
  10. linux等候脚本,linux – 在bash脚本中继续之前等待通过ssh运行的脚本完成
  11. 增强现实:原理算法与应用 第一章增强现实概论笔记
  12. 蓝桥杯 C语言 试题 历届试题 格子刷油漆
  13. antd源码解读(6)- Affix
  14. 硬盘运行与“AHCI 模式”还是“IDE 模式”
  15. tas5717php手册,TAS5715 具有扬声器均衡、双频带 DRC 和 DC 保护的 25W 立体声 I2S 音频放大器...
  16. iOS 5 故事板进阶(2)
  17. illumina测序两束激发光分别是什么颜色,A/T/C/G四个碱基又分别标记了什么颜色的荧光素呢?
  18. 人类会被人工智能打败吗?
  19. 博图在线升级 gsd_《阴阳师妖怪屋》如何快速提升式神等级 式神快速升级方法大放送|阴阳师妖怪屋|如何-360GAME...
  20. mapbox加载天地图

热门文章

  1. 解决make: *** [install-recursive] Error 1问题
  2. “collect2: error: ld returned 1 exit status“解决方法
  3. 如何使用内网穿透,将自己的内网接口暴露到外网
  4. 图像滤镜艺术---乐高像素拼图特效
  5. 进程间通讯:共享内存和消息队列简述
  6. 软件工程中国大学慕课mooc北京大学 答案
  7. 中南大学保研去华科计算机,巨无霸学校保研清北比率,武大山大中大华科川大吉大大工中南。...
  8. Indy TCP/IP 组件里的几个常用方法
  9. 一学就会的虚拟化技术之hyper-v桌面虚拟化
  10. 青春有多9,我爱我所有