深入浅出——mapred-site.xml

发布时间:2023-05-19

一、概述

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.JobQueueTaskSchedulerorg.apache.hadoop.mapred.CapacityTaskSchedulerorg.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 作业的执行效率。