您的位置:

深入浅出——mapred-site.xml

一、概述

mapred-site.xml是一个Hadoop配置文件,它包含了JobTracker和TaskTracker的配置信息。这个文件的作用是用来定制Hadoop的MapReduce框架的,比如配置MapReduce任务运行的最大内存大小、最大可用CPU核数等等,它的配置项是显式的,每个配置项都有对应的说明和默认值,用户可以根据自己的需求去更改。

二、mapred-site.xml配置项详解

1. mapreduce.framework.name

这个配置项表明你选择的是哪种MapReduce框架。可选值有"local","classic"和"yarn",默认为"classic"。

2. mapreduce.jobtracker.address

这是JobTracker服务的主机地址和端口号。对于Hadoop 2.x版本,已经不需要这个配置了。

3. mapreduce.jobtracker.completeuserjobs.maximum

这个配置项可以限制单个用户可以同时运行的最大任务数。

<property>
  <name>mapreduce.jobtracker.completeuserjobs.maximum</name>
  <value>4</value>
</property>

4. mapreduce.jobtracker.taskscheduler

这个配置项可以指定JobTracker的任务调度器,可选值有"org.apache.hadoop.mapred.JobQueueTaskScheduler","org.apache.hadoop.mapred.CapacityTaskScheduler"和"org.apache.hadoop.mapred.FairScheduler",默认为"org.apache.hadoop.mapred.JobQueueTaskScheduler"。

5. mapreduce.tasktracker.map.tasks.maximum

这个配置项限制一个TaskTracker上同时运行的Mapper任务的最大数目。

三、注意事项

1. mapred-site.xml配置文件中参数的优先级覆盖原则为:系统环境变量> yarn-site.xml > hadoop-site.xml > mapred-site.xml > 默认值。

2. 如果修改了mapred-site.xml文件中的配置项,需要重启Hadoop集群才能生效。

3. 在修改mapred-site.xml文件之前,需要备份原来的文件。万一修改了一些系统关键配置,导致Hadoop无法正常工作,可以通过备份文件进行还原。

四、结语

通过以上对mapred-site.xml的详细阐述,我们可以看到该文件对于Hadoop的MapReduce框架的定制化起到了至关重要的作用。通过修改配置文件中的参数,我们可以根据自己的需求来优化MapReduce的性能,提高MapReduce作业的执行效率。