一、概述
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作业的执行效率。