调度能力

本文深入探讨了调度能力在Hadoop环境下的重要性,详细阐述了其核心特性和工作流程,包括优先级队列管理、资源分配策略、回收机制以及安装过程。了解如何通过调度能力优化大规模集群的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文献阅读笔记

 

[1]          分布式系统概念与设计  [] George Coulouris  Jean Dollimore Tim Kindberg 金蓓弘

[2]          调度能力        Capacity Scheduler

 

1. 关键词

调度能力

2. 主要内容

1)目的

  这篇文档主要描述了 调度能力,一个可热插拔的 Map/Reducer 调度器给hadoop提供了共享大规模集群的能力。

2)特色

  调度能力有如下的特色:

  支持包涵多个作业的优先级队列。

  队列只是控制了网格资源的一小部分,也就是说,一定的资源可以被队列所处置。

  自由资源可以分配给任何一个没有“溢出”的队列。“溢出”部分的资源可以被回收并提供给另一个队列。

  调度器将会保证当“溢出“资源从某一队列移走,会在N分钟内将其移回若此队列需要用的时候。

  调度器有选择性的支持调度优先级。

  在一个队列内部,高优先级的作业将会在低优先级的作业之前访问队列资源。然而,一旦一个作业运行,他不能够被切换。

  为了阻止一个或者多个用户垄断资源,每个队列强制每个用户在任何时间都有一个使用资源的上限限制,加入出现竞争的话。

  支持内存集中型的作业,如果作业拥有比默认值更高的内存需求。每个作业的任务仅能运行在有足够内存量的TaskTrackers上。。

3)选择一个任务运行

  注意现在的很多步骤,直接可以凑成一个完整的算法。

  当一个任务TaskTracker是自由的话,那么调度器首先会选择一个收回其资源的队列(这个队列的资源可能被其他队列所应用,并且需要马上召回这些资源)。如果没有这样的队列,那么会选择一个拥有更多自由空间的队列。(队列的运行槽率能够满足任务的最小资源需求)。

   一旦一个队列被选择,那么调度器会选择一个作业放入队列中。作业的执行先后根据提交时间和优先级来确定。作业是有序执行的,在用户可以接受的情况下作业可以有选择性的执行。用户不能够超载使用队列资源。调度器能够确定这里有足够的自由缓冲区确保TaskTracker去运行作业的任务。因为作业需要很多的缓冲区需求。

   一旦一个作业被选择,那么调度器选择一个任务去运行。

4)回收能力

周期性的调度决定:

   如果队列拥有最小的挂起任务队列,并且他的部分资源被其他队列所用,那么队列就要有回收能力。如果这种情况出现了,那么调度器节点就会就会i声明他的资源并在一定时间内进行回收。

   如果队列没有全部收回它所需要的资源,并且他的回收时间已经到期。这种情况下,调度器需要杀队列中的任务。

5)安装

   Installation

The capacity scheduler is available as a JAR file in the Hadoop tarball under the contrib/capacity-scheduler directory. The name of the JAR file would be on the lines of hadoop-*-capacity-scheduler.jar.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值