Mapr与Mapreduce配合工作(三)——容量调度

容量调度是一个多用户的MapReduce作业调度程序,使企业能够模拟带有FIFO调度,为用户或组织一个专门的MapReduce集群。

容量调度分簇成多个队列,从而识别不同的团体或组织。每个队列分配一个容量(电网总容量的一小部分)和作业提交到队列,并使用FIFO调度的调度队列中。

启用容量调度

要启用MAPR容量调度,定义mapred.jobtracker.taskScheduler物业mapred-default.xml中的文件。

属性

mapred.jobtracker.taskScheduler

org.apache.hadoop.mapred.CapacityTaskScheduler

配置容量调度

设置队列

容量调度,可以定义多个队列哪些用户和组可以提交作业。一旦队列定义,用户可以将作业提交到使用属性名称的队列mapred.job.queue.name在任务配置。

要定义多个队列,修改mapred.queue.names物业mapred-site.xml的文件。

属性

描述

mapred.queue.names

逗号分隔的队列中的作业可以提交名单。

一个单独的配置文件可以被用来配置对每个由调度器管理的队列的属性。欲了解更多信息,请参阅配置属性队列

设置作业队列的ACL

容量调度,可以定义访问控制列表(ACL)来控制哪些用户和组使用表单的配置参数可以将作业提交到每个队列mapred.queue.queue-name.acl名

要启用和配置访问控制列表的队列中,定义了以下属性mapred-default.xml中的文件。

属性

描述

mapred.acls.enabled

如果属实,访问控制列表的支持,每当一个作业被提交或管理进行检查。

mapred.queue。<queue-name>。ACL-提交在职

指定的用户以及可以将作业提交到指定的组的列表队列名称。用户和组的逗号分隔的列表是由一个空格隔开。例如,用户1,用户2组1,组2。要定义组的列表只是,输入一个空格在该组列表的开头。

mapred.queue。<queue-name>。ACL-辖-工作岗位

指定用户和组,可以更改优先级或杀死提交到指定的作业的列表队列名称。用户和组的逗号分隔的列表是由一个空格隔开。例如:用户1,用户2组1,组2。要定义组的列表只是,输入一个空格在该组列表的开头。无论是访问控制列表,作业所有者可以随时更改的优先级或杀死的工作。

配置属性队列

容量调度,可以配置确定如何每个队列的调度程序管理的队列特定的属性。所有队列特有的属性在定义conf /中能力scheduler.xml文件。默认情况下,单个队列命名的默认配置。

要为在站点配置中定义的队列的属性,你应该使用属性名作为mapred.capacity-scheduler.queue。<queue-name><property-name>。例如,要定义属性保证容量的队列命名的研究,你应该指定属性名作为mapred.capacity-scheduler.queue.research.guaranteed容量

为队列和它们的说明中定义的性能列于下表:

属性

描述

mapred.capacity-scheduler.queue。<queue-name>。保证容量

指定插槽的保证是可用于作业在此队列集群中的百分比。的配置的所有队列保证容量的总和必须小于或等于100

mapred.capacity-scheduler.queue。<queue-name>。回收时间限制

指定的时间(以秒为单位)分发到其他队列资源将被回收之前的量。  

mapred.capacity-scheduler.queue。<queue-name>。支持优先级

如果属实,作业的优先级考虑调度决策。乔布斯具有较高优先级值与优先级值较低的工作之前获准进入队列的资源。

mapred.capacity-scheduler.queue。<queue-name>。最低用户限制%的

指定一个值,该值定义的资源可被分配给一个用户在任何给定时间的最大百分比。分配资源的最小百分比取决于谁已提交作业的用户数量。例如,假设一个值25设置此属性。如果两个用户已提交的作业队列中,没有任何一个用户都可以使用该队列资源的50%以上。如果第三位用户提交的作业,没有任何一个用户都可以使用该队列的资源超过33%。具有四个或更多的用户,用户可以使用该队列的资源的25%以上。如果一个值100被设置,任何用户限制规定。

内存管理

招聘初始化参数

容量调度初始化的工作,他们定之前,从而减少了JobTracker的内存占用。您可以通过定义以下属性控制作业初始化的“懒惰” 的能力scheduler.xml文件。

属性

描述

mapred.capacity-scheduler.queue。< 队列名称>。最大初始化-就业-每用户

指定可以预先初始化队列中的一个用户作业的最大数量。一旦作业开始运行,调度不再需要这份工作考虑时,它会计算每个用户允许初始化作业的最大数量。

mapred.capacity-scheduler.init轮询间隔

指定的时间(以毫秒为单位),用于轮询调度作业队列的作业被初始化。

mapred.capacity-scheduler.init工作者线程

指定用于初始化工作在一组队列工作线程的数目。如果配置的值等于作业队列数,每个线程从一个队列中分配的工作。如果配置的值小于队列的数目,一个线程可以从多个队列接收工作;线程初始化的循环方式的队列。如果所配置的值大于队列的数目,生成的线程的数目等于作业的队列数量。

管理容量计划

一旦安装和配置完成后,您可以在管理界面启动群集后审查。

  1. 启动Map / Reduce的集群如常。
  2. 打开JobTracker的web用户界面。
  3. 您所配置​​的队列应该被列在页面的调度信息部分。
  4. 的属性队列应该对每个队列的调度信息栏是可见的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值