hadoop队列管理(指定queue跑程序)
网友 CSDN博客

hadoop2.0版本,hadoop采用了平级队列组织方式,,管理员可将用户分到若干个扁平队列中,在每个队列中,可指定一个或几个队列管理员管理这些用户,比如杀死任意用户的作业,修改任意用户作业的优先级。

但这还不够,需要将资源划分到这几个队列中,并按照一定的策略完成资源分配,这就需要Hadoop作业调度器的支持。

总之,在Hadoop中,队列的组织是队列管理和资源分配的基础。


线上环境,设置成三个队列,分别是default,queue1,queue2,queue3。

在编写代码时,设定

Configuration conf = new Configuration();
conf.set("mapred.job.queue.name", "queue3");

使用queue3跑程序,任务少,资源相对充足。



Hadoop 队列管理:

配置Queue相关信息

?配置属性在mapre-site.xml

配置Queue的相关信息

<property>

 <name>mapred.acls.enabled</name>

 <value>true</value>

</property>

<property>

 <name>mapred.queue.names</name>

 <value>test,default</value>

</property> 属性mapred.queue.names 是 queue 的所有名字,在这一名字中,必须有一个叫“ default”的 queue

<property>

 <name>mapred.queue.my_queue.acl-submit-job</name>

 <value> test</value>

</property>

 

 

<property>

 <name>mapred.queue.default.acl-administer-jobs</name>

 <value></value>

</property>

<property>

 <name>mapred.queue.my_queue.acl-administer-jobs</name>

 <value></value>

</property>

 

 

 

mapred.queue.names是queue的所有名字

?必须有一个叫“default”的queue

? mapred.queue.<queue-name>.acl-submit-job,指定哪些user或者group可以向该queue中提交作业

?mapred.queue.<queue-name>.acl-administer-jobs,指定哪些user或者group可以管理该queue中的所有作业。

? 每个queue拥有的资源量和其他信息,在其他配置文件里指定

? mapred.queue.<queue-name>.acl-submit-job和mapred.queue.<queue-name>.acl-administer-jobs配置方法如下:

     用户和用户组之间用空格分开,用户之间用“,”分割,用户组之间用“,”分割,如果queue的属性值中只有用户组,则前面保留一个空格。


CIO之家 www.ciozj.com 公众号:imciow
关联的文档
也许您喜欢