欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

配置Capacity Scheduler

程序员文章站 2022-06-22 20:54:48
...

多用户下的Hadoop集群,少不了资源配置的管理。

Capacity Scheduler作为Yahoo开源的资源管理器,有着相当不错的适用性。

 

在HADOOP_HOME下的lib文件夹下面,找找有没有capacity schedule的jar包。

老版本的hadoop会把capacity scheduler的jar包

放在contrib/capacity-scheduler/hadoop-capacity-scheduler.jar 

 

将jar包拷贝到hadoop的lib包下面。

 

修改namenode节点中的conf/mapred-site.xml文件

 

  <property>
    <name>mapred.jobtracker.taskScheduler</name>
    <value>org.apache.hadoop.mapred.CapacityTaskScheduler</value>
  </property>
  <property>
    <name>mapred.queue.names</name>
    <value>default,hadoop,hive</value>
  </property>

 

 

修改conf下的capacity-scheduler.xml 配置文件

 

本人修改的已经在附件中上传。注意配置文件中的几个:

 

1.mapred.capacity-scheduler.queue.default.capacity

表示该队列中,占所有资源的比例值 x/100 %

所有队列的该值之和,不能超过100%

 

2.mapred.capacity-scheduler.queue.default.minimum-user-limit-percent

表示每个用户可以使用该队列值的多少

 

最后,如何使用该队列呢:

mapreduce:在Job的代码中,设置Job属于的队列,例如hive:

conf.setQueueName("hive");

hive:在执行hive任务时,设置hive属于的队列,例如hive:

set mapred.job.queue.name=hive;

 

相关标签: hadoop 队列