一、概述
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 任务的最大数目。
三、注意事项
mapred-site.xml
配置文件中参数的优先级覆盖原则为:系统环境变量 >yarn-site.xml
>hadoop-site.xml
>mapred-site.xml
> 默认值。- 如果修改了
mapred-site.xml
文件中的配置项,需要重启 Hadoop 集群才能生效。 - 在修改
mapred-site.xml
文件之前,需要备份原来的文件。万一修改了一些系统关键配置,导致 Hadoop 无法正常工作,可以通过备份文件进行还原。
四、结语
通过以上对 mapred-site.xml
的详细阐述,我们可以看到该文件对于 Hadoop 的 MapReduce 框架的定制化起到了至关重要的作用。通过修改配置文件中的参数,我们可以根据自己的需求来优化 MapReduce 的性能,提高 MapReduce 作业的执行效率。