Map/Reduce中公平调度器配置

一、背景

一般来说,JOB的执行就是FIFO的过程(先进先出),这样的方式资源得不到充分的使用。所以配置了一下公平调度。

二、配置实现

1、环境:hadoop0.20.2

2、拷贝/jz/hadoop-0.20.2/contrib/fairscheduler/hadoop-0.20.2-fairscheduler.jar到hadoop的lib目录下,并复制到集群所有机器上。

3、修改mapred-site.xml,内容如下:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>
<name>mapred.job.tracker</name>
<value>m131:9001</value>
<description>The host and port that the MapReduce job tracker runs
at. If "local", then jobs are run in-process as a single map
and reduce task.
</description>
</property>

<property>
<name>mapred.child.java.opts</name>
<value>-Xmx3072m</value>
</property>

<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>2</value>
<description>The maximum number of map tasks that will be run
simultaneously by a task tracker.
</description>
</property>

<property>
<name>mapred.jobtracker.taskScheduler</name>
<!--<value>org.apache.hadoop.mapred.JobQueueTaskScheduler</value>-->
<value>org.apache.hadoop.mapred.FairScheduler</value>
<description>The class responsible for scheduling the tasks.</description>
</property>

</configuration>

4、重启集群服务,然后访问http://192.168.3.131:50030/scheduler显示页面

三、总结

1、更多的配置内容可以参看/jz/hadoop-0.20.2/docs/fair_scheduler.html文档

2、值得注意,使用公平调度可以并发的执行任务,但是执行的时间会延长。

3、总的来说,如果需要多任务同时运行,可以使用公平调度。但是如果任务有先后顺序性,建议还是使用FIFO的模式。

你可能感兴趣的:(apache,mapreduce,xml,hadoop,XSL)