配置Capacity Scheduler
多用户下的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;
上一篇: php 生僻知识点认知
下一篇: 目前最全:产品推广的108种方法