? ? ? ? ?hadoop支持多用户环境,在生产环境中,往往一个大的hadoop集群,供多个应用如Hive,Mahout等之类的使用。在多用户环境下,有的用户提交的工作量很大、很频繁,而有的很少,还有的优先级很高,那么如何保证“按需”来为各个用户分配资源(内存、CPU
? ? ? ? ?hadoop支持多用户环境,在生产环境中,往往一个大的hadoop集群,供多个应用如Hive,Mahout等之类的使用。在多用户环境下,有的用户提交的工作量很大、很频繁,而有的很少,还有的优先级很高,那么如何保证“按需”来为各个用户分配资源(内存、CPU、带宽、IO、磁盘)呢?这就需要用到资源调度器。
? ?? ? ?这里,我对hadoop的资源调度做个简单的归纳总结:
? ? ? ?? 一、基本术语
? ? ? ? 用户分组管理
? ? ? ? 用于按组为单位组织管理,某个用户只能向固定分组中提交作业,只能使用固定分组中配置的资源;同时可以限制每个用户提交的作业数,使用的资源量等
? ? ? ? 作业管理
? ? ? ? 包括作业提交权限控制,作业运行状态查看权限控制等。如:可限定可提交作业的用户;可限定可查看作业运行状态的用户;可限定普通用户只能修改自己作业的优先级,kill自己的作业;高级用户可以控制所有作业等。
? ? ? ? 用户(User)
? ? ? ? Hadoop使用Linux用户管理,Hadoop中的用户就是Linux中的用户
? ? ? ? 分组(group)
? ? ? ? Hadoop使用Linux分组管理,Hadoop中的分组就是Linux中的分组
? ? ? ? 池(pool)
? ? ? ? Hadoop Fair Scheduler中的概念,一个pool可以是一个user,一个group,或者一个queue。
? ? ? ? 队列(Queue)
? ? ? ? 队列是Hadoop提出的概念,一个Queue可以由任意几个Group和任意几个User组成。
?
?
? ? ? ? 二、资源调度管理简介
? ? ? ? Hadoop的资源管理核心:
? ? ? ? ? ? ? ?存储容量管理
? ? ? ? ? ? ? ? ? ? ?HDFS存储管理
? ? ? ? ? ? ? ?计算容量管理
? ? ? ? ? ? ? ? ? ? ?MR任务槽管理
? ? ? ? ? ? ? ? ? ? ?任务调度器
?
?
? ? ? ? ? 三、存储容量管理
?
? ? ? ? ? ? ? ?主要是对HDFS的管理:
? ? ? ? ? ? ? ? ? ? HDFS本身也是一种文件系统,与Linux文件系统有类似之处
? ? ? ? ? ? ? ? ? ? 对用户组、用户、路径设置Quotas(包括空间大小和文件数量)
? ? ? ? ? ? ? ? ? ? Hadoop dfsadmin -setSpaceQuota size path
? ? ? ? ? ? ? ? ? ? hadoop dfsadmin -setQuota number path
? ? ? ? ? ? ? ? ? ? Hadoop共享Linux的用户组和用户
? ? ? ? ? ? ? ? ? ? HDFS的权限控制:用户和用户组
?
?
?
? ? ? ? ? 四、计算容量管理
? ? ? ? ? ? ? ? ? 主要是对MapReduce任务槽的管理,任务槽也可以理解为服务器的资源综合统称:
? ? ? ? ? ? ? ? ? ? ? ? ?CPU(如何设置MR,见下面备注)
? ? ? ? ? ? ? ? ? ? ? ? ?内存(设置子任务的jvm参数和GC参数。在1 . 0以后的版本中,可以全局M/R内存和Job ? ? ? ? ? ? ? M/R内存)
? ? ? ? ? ? ? ? ? ? ? ? ?网络带宽
? ? ? ? ? ? ? ? ? ? ? ? ?磁盘IO
? ? ? ? ? ? ? ? ? ? ? ? ?单台主机或整个集群资源是有限的。在多任务、多用户环境下,大量并发提交和执行任务是非常常见的,这就导致资源不足而竞争,如何保证在有限资源或业务约束下有序调度和执行任务,需要有一个协调者,这就是Hadoop的资源调度器。
?
?
? ? ? ? ? ? ? ? ? Hadoop的调度器
? ? ? ? ? ? ? ? ? ? ? ? FIFO(default)。先进先出调度器?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Hadoop默认提供。
? ? ? ? ? ? ? ? ? ? ? ? Fair Scheduler(plugin)。公平调度器
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Facebook提供。
? ? ? ? ? ? ? ? ? ? ? ? Capacity Scheduler (plugin)。容量调度器
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yahoo提供。
?
?
?
? ? ? ? ? ? ? ? 1、 FIFO Scheduler
? ? ? ? ? ? ? ? ? ?先进先出调度器
? ? ? ? ? ? ? ? ? ?优点:
? ? ? ? ? ? ? ? ? ? ? ? ? ?Hadoop默认提供。非常简单、JobTracker无负担
? ? ? ? ? ? ? ? ? ? ? ? ? ?支持五级优先级,每级一个队列,从队列优先级高低提取任务执行。五级分别是:Very Low 、Low 、Normal 、High 、Very Hign;
? ? ? ? ? ? ? ? ? ? ? ? ? ?在同级队列中,按提交Job的时间先后顺序执行
? ? ? ? ? ? ? ? ? ? ? ? ? ?无需额外配置
? ? ? ? ? ? ? ? ? ? 缺点:
? ? ? ? ? ? ? ? ? ? ? ? ? ?完全忽略不同作业的需求差异
? ? ? ? ? ? ? ? ? ??
?
?
? ? ? ? ? ? ? ? ? 2、Fair Scheduler?
? ? ? ? ? ? ? ? ? 公平分享调度器:在多个用户之间共享集群资源。它按资源池来组织作业,并把资源按时间公平地分到这些资源池里。在每一个资源池内,会使用公平共享地方法在运行作业之间共享容量。
?
? ? ? ? ? ? ? ? ? 特征:
? ? ? ? ? ? ? ? ? ? ? ? ? 支持多用户(默认一个用户对一个池,依赖于Linux多用户环境)
? ? ? ? ? ? ? ? ? ? ? ? ? 资源公平共享(公平共享量由优先级决定,同优先级按FIFO调度)
? ? ? ? ? ? ? ? ? ? ? ? ? 保证最小共享量
? ? ? ? ? ? ? ? ? ? ? ? ? 支持时间片抢占
? ? ? ? ? ? ? ? ? ? ? ? ? 限制作业并发量,以防止中间数据塞满磁盘
? ? ? ? ? ? ? ? ? ? ? ? ??
?
?
? ? ? ? ? ? ? ? ? ?3、Capacity Scheduler?
? ? ? ? ? ? ? ? ? ? ?容量调度器:使多个用户可以安全地共享一个大的集群,应用程序可以在容量限度下获取到需要的资源,最大化集群的吞吐率和利用率。它按队列来组织作业,每个队列会配置一定比例的计算资源,且所有提交到队列中的作业共享该队列中的资源。
? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ?特征:
? ? ? ? ? ? ? ? ? ? ? ? ? ? 层次化的队列
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 层次化的队列支持在一个组织内子队列的优先共享资源,从而提供了更多的控制和预
测的能力,不支持抢占
? ? ? ? ? ? ? ? ? ? ? ? ? ? 资源容量保证
? ? ? ? ? ? ? ? ? ? ? ? ? ?队列实现了一种资源的划分,所有的应用都会被指定到特定的队列,这些应用所能使用到的资源受到队列所拥有资源的限制
? ? ? ? ? ? ? ? ? ? ? ? ? ? 安全性?
? ? ? ? ? ? ? ? ? ? ? ? ? ?每一个队列都有一个严格的ACL来控制那些用户可以访问队列,并且有一个safe-guard来保证用户不能够看或者修改其他用户的应用,而且每个队列或系统都可以设置管理员角色。?
? ? ? ? ? ? ? ? ? ? ? ? ? ? 弹性
? ? ? ? ? ? ? ? ? ? ? ? ??空闲的资源可以分配给任何队列,这样可能超出队列的资源限制。也就是说,如果集群有空闲的资源,而有些队列需要的资源超出了分给他的限制,这些空闲的资源将被分配给这些队列,这样就保证了资源的可预测性和弹性,从而防止了人工孤岛,帮助实现资源的优化利用。
? ? ? ? ? ? ? ? ? ? ? ? ? ? 多用户
? ? ? ? ? ? ? ? ? ? ? ? ? ?系列的综合设置可以防止单一的应用或用户占用队列或集群的全部资源,防止集群被单用户过度使用,从而保证了多用户可以共同使用集群
? ? ? ? ? ? ? ? ? ? ? ? ? ? 可操作性
? ? ? ? ? ? ? ? ? ? ? ? ? ?RuntimeConfiguration:一些设置可以在运行时进行配置,例如资源分配的容量, ? ? ? ? ? ? ? ? ? ? ACL
? ? ? ? ? ? ? ? ? ? ? ? ? ? 基于资源的调度?
? ? ? ? ? ? ? ? ? ? ? ? ? ? 支持资源密集型的应用,应用可以被指定分配超出缺省设置的更多的资源
?
?
? ? ? ? ? ? ?Fair VS Capacity
?
? ? ? ? ? ? ? 相同点
? ? ? ? ? ? ? ? ? ? 均支持多用户多队列,即:适用于多用户共享集群的应用环境
? ? ? ? ? ? ? ? ? ? 单个队列均支持优先级和FIFO调度方式
? ? ? ? ? ? ? ? ? ? 均支持资源共享,即某个queue中的资源有剩余时,可共享给其他缺资源的queue
? ? ? ? ? ? ? 异同点
? ? ? ? ? ? ? ? ? ? ?核心调度策略不同。 计算能力调度器的调度策略是,先选择资源利用率低的queue,然后在queue中同时考虑FIFO和memory constraint因素;而公平调度器仅考虑公平,而公平是通过作业缺额体现的,调度器每次选择缺额最大的job(queue的资源量,job优先级等仅用于计算作业缺额)。
? ? ? ? ? ? ? ? ? ? ?内存约束。计算能力调度器调度job时会考虑作业的内存限制,为了满足某些特殊job的特殊内存需求,可能会为该job分配多个slot;而公平调度器对这种特殊的job无能为力,只能杀掉这种task。
单一用户环境下,Fair只能共享一个池,Capacity可以多队列
?
已有 0 人发表留言,猛击->> 这里
ITeye推荐
- —软件人才免语言低担保 赴美带薪读研!—
原文地址:hadoop资源调度器, 感谢原作者分享。

Java错误:Hadoop错误,如何处理和避免当使用Hadoop处理大数据时,常常会遇到一些Java异常错误,这些错误可能会影响任务的执行,导致数据处理失败。本文将介绍一些常见的Hadoop错误,并提供处理和避免这些错误的方法。Java.lang.OutOfMemoryErrorOutOfMemoryError是Java虚拟机内存不足的错误。当Hadoop任

115网盘里会有很多的资源,那么该怎么找资源呢?用户们可以在软件里搜索需要的资源,然后进入下载界面,然后选择存至网盘就可以了。这篇115网盘找资源方法介绍就能够告诉大家具体的内容,下面就是详细的介绍,赶紧来看看吧。115网盘怎么找资源答:在软件里搜索内容,然后点击存至网盘。具体介绍:1、首先在app里输入想要的资源。2、之后点击出现的关键词链接。3、接着进入下载界面。4、点击里面的存至网盘就可以了。

随着互联网业务的快速发展以及渐渐增加的业务量,单台服务器所能处理的数据量已经远远不能满足需求。为了满足高并发、高可用、高性能的要求,分布式架构应运而生。在分布式架构中,任务的分发和调度是一个非常关键的组成部分。任务分发和调度的好坏将直接影响整个系统的性能和稳定性。在这里,我们将介绍如何利用go-zero框架实现分布式任务分发和调度。1.分布式任务分发任务分发

资源管理器.exe在Windows11的安全模式下崩溃?不会了。Microsoft刚刚发布了开发频道的新补丁,虽然此版本没有新功能,但许多修复和改进都进入了Windows预览体验计划,包括资源管理器.exe在安全模式下崩溃的烦人错误。好吧,你现在可以告别它了,至少在Windows预览体验计划中是这样。但与所有这些更新一样,它们也将进入实时Windows服务器。修复了导致资源管理器.exe无法在安全模式下工作的问题。但是,文件资源管理器还进行了其他一些修复,因此Microsoft热衷于使其正常工作

韩小圈是能够观看很多韩剧的软件,那么为什么突然没有资源呢?这个软件可能是因为网络问题,版本问题,或者是版权问题才没有资源。这篇韩小圈突然没有资源原因介绍就能够告诉大家具体的内容,下面就是详细的介绍,赶紧来看看吧。韩小圈为什么突然没有资源了答:由于网络问题,版本问题,版权问题导致具体介绍:1、网络问题解决方法:可以选择不同的网络,然后重新登录软件试试。2、版本问题解决方法:用户们可以从官网上下载这个软件的最新版本。3、版权问题解决方法:有的韩剧是因为版权问题下架,可以选择别的韩剧观看。

随着大数据时代的到来,数据处理和存储变得越来越重要,如何高效地管理和分析大量的数据也成为企业面临的挑战。Hadoop和HBase作为Apache基金会的两个项目,为大数据存储和分析提供了一种解决方案。本文将介绍如何在Beego中使用Hadoop和HBase进行大数据存储和查询。一、Hadoop和HBase简介Hadoop是一个开源的分布式存储和计算系统,它可

如何在PHP微服务中实现分布式定时任务和调度在现代的微服务架构中,分布式定时任务和调度是非常重要的组成部分。它们能够帮助开发者轻松地管理、调度和执行多个微服务中的定时任务,提高系统的可靠性和可扩展性。本文将介绍如何使用PHP来实现分布式定时任务和调度,并提供代码示例供参考。使用队列系统为了实现分布式定时任务和调度,首先需要使用一个可靠的队列系统。队列系统能够

随着数据量的不断增大,传统的数据处理方式已经无法处理大数据时代带来的挑战。Hadoop是开源的分布式计算框架,它通过分布式存储和处理大量的数据,解决了单节点服务器在大数据处理中带来的性能瓶颈问题。PHP是一种脚本语言,广泛应用于Web开发,而且具有快速开发、易于维护等优点。本文将介绍如何使用PHP和Hadoop进行大数据处理。什么是HadoopHadoop是


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

드림위버 CS6
시각적 웹 개발 도구
