mapred-default.xml (MapReduce v1)

The configuration file mapred-default.xml provides defaults that can be overridden using mapred-site.xml (MapReduce v1) , and is located in the Hadoop core JAR file (/opt/mapr/hadoop/hadoop-<version>/lib/hadoop-<version>-dev-core.jar).

Warning: Do not modify mapred-default.xml directly. Instead, copy parameters into mapred-site.xml (MapReduce v1) and modify them there. If mapred-site.xml does not already exist, create it.
Warning: You can examine the current configuration information for this node by using the hadoop conf -dump command from a command line.

The format for a parameter in both mapred-default.xml and mapred-site.xml is:

<property>
  <name>io.sort.spill.percent</name>
  <value>0.99</value>
  <description>The soft limit in either the buffer or record collection
  buffers. Once reached, a thread will begin to spill the contents to disk
  in the background. Note that this does not imply any chunking of data to
  the spill. A value less than 0.5 is not recommended.</description>
</property>

The <name> element contains the parameter name, the <value> element contains the parameter value, and the optional <description> element contains the parameter description. You can create XML for any parameter from the table below, using the example above as a guide.

Parameter

Description

hadoop.job.history.location

If job tracker is static the history files are stored in this single well known place on local filesystem. If No value is set here, by default, it is in the local file system at $<hadoop.log.dir>/history. History files are moved to mapred.jobtracker.history.completed.location which is on MapRFs JobTracker volume.

hadoop.job.history.user.location

User can specify a location to store the history files of a particular job. If nothing is specified, the logs are stored in output directory. The files are stored in "_logs/history/" in the directory. User can stop logging by giving the value "none".

hadoop.rpc.socket.factory.class.JobSubmissionProtocol

SocketFactory to use to connect to a Map/Reduce master (JobTracker). If null or empty, then use hadoop.rpc.socket.class.default.

io.map.index.skip

Number of index entries to skip between each entry. Zero by default. Setting this to values larger than zero can facilitate opening large map files using less memory.

Default value: 0

io.sort.factor

The number of streams to merge at once while sorting files. This determines the number of open file handles.

Default value: 256

io.sort.mb

Buffer used to hold map outputs in memory before writing final map outputs. Setting this value very low may cause spills. A typical value for this parameter is 1.5 the average size of a map output.

Default value: 380

io.sort.record.percent

The percentage of io.sort.mb dedicated to tracking record boundaries. Let this value be r, io.sort.mb be x. The maximum number of records collected before the collection thread must block is equal to (r * x) / 4

Default value: 0.17

io.sort.spill.percent

The soft limit in either the buffer or record collection buffers. Once reached, a thread will begin to spill the contents to disk in the background. Note that this does not imply any chunking of data to the spill. A value less than 0.5 is not recommended.

Default value: 0.99

job.end.notification.url

Indicates url which will be called on completion of job to inform end status of job. User can give at most 2 variables with URI : $jobId and $jobStatus. If they are present in URI, then they will be replaced by their respective values.

Default value: http://localhost:8080/jobstatus.php?jobId=$jobId&amp;jobStatus=$jobStatus

job.end.retry.attempts

Indicates how many times hadoop should attempt to contact the notification URL.

Default value: 0

job.end.retry.interval

Indicates time in milliseconds between notification URL retry calls.

Default value: 30000

jobclient.completion.poll.interval

The interval (in milliseconds) between which the JobClient polls the JobTracker for updates about job status. You may want to set this to a lower value to make tests run faster on a single node system. Adjusting this value in production may lead to unwanted client-server traffic.

Default value: 5000

jobclient.output.filter

The filter for controlling the output of the task's userlogs sent to the console of the JobClient. The permissible options are: NONE, KILLED, FAILED, SUCCEEDED and ALL.

Default value: FAILED

jobclient.progress.monitor.poll.interval

The interval (in milliseconds) between which the JobClient reports status to the console and checks for job completion. You may want to set this to a lower value to make tests run faster on a single node system. Adjusting this value in production may lead to unwanted client-server traffic.

Default value: 1000

keep.failed.task.files

Should the files for failed tasks be kept. This should only be used on jobs that are failing, because the storage is never reclaimed. It also prevents the map outputs from being erased from the reduce directory as they are consumed.

Default value: false

map.sort.class

The default sort class for sorting keys.

Default value: org.apache.hadoop.util.QuickSort

mapr.localoutput.dir

The path for local output.

Default value: output

mapr.localspill.dir

The path for local spill.

Default value: spill

mapr.localvolumes.path

The path for local volumes.

Default value: /var/mapr/local

mapred.acls.enabled

Specifies whether ACLs should be checked for authorization of users for doing various queue and job level operations. ACLs are disabled by default. If enabled, access control checks are made by JobTracker and TaskTracker when requests are made by users for queue operations like submit job to a queue and kill a job in the queue and job operations like viewing the job-details (See mapreduce.job.acl-view-job) or for modifying the job (See mapreduce.job.acl-modify-job) using Map/Reduce APIs, RPCs or via the console and web user interfaces.

Default value: false

mapred.child.env

User added environment variables for the task tracker child processes. Example : 1) A=foo This will set the env variable A to foo 2) B=$B:c This is inherit tasktracker's B env variable.

mapred.child.java.opts

Java opts for the task tracker child processes. The following symbol, if present, will be interpolated: @taskid@ is replaced by current TaskID. Any other occurrences of '@' will go unchanged. For example, to enable verbose gc logging to a file named for the taskid in /tmp and to set the heap maximum to be a gigabyte, pass a 'value' of: -Xmx1024m -verbose:gc -Xloggc:/tmp/@taskid@.gc The configuration variable mapred.child.ulimit can be used to control the maximum virtual memory of the child processes.

mapred.child.oom_adj

Increase the OOM adjust for oom killer (linux specific). We only allow increasing the adj value. (valid values: 0-15)

Default value: 10

mapred.child.renice

Nice value to run the job in. on linux the range is from -20 (most favorable) to 19 (least favorable). We only allow reducing the priority. (valid values: 0-19)

Default value: 10

mapred.child.taskset

Run the job in a taskset. man taskset (linux specific) 1-4 CPUs: No taskset 5-8 CPUs: taskset 1- (processor 0 reserved for infrastructrue processes) 9-n CPUs: taskset 2- (processors 0,1 reserved for infrastructrue processes)

Default value: true

mapred.child.tmp

To set the value of tmp directory for map and reduce tasks. If the value is an absolute path, it is directly assigned. Otherwise, it is prepended with task's working directory. The java tasks are executed with option -Djava.io.tmpdir='the absolute path of the tmp dir'. Pipes and streaming are set with environment variable, TMPDIR='the absolute path of the tmp dir'

mapred.child.ulimit

The maximum virtual memory, in KB, of a process launched by the Map-Reduce framework. This can be used to control both the Mapper/Reducer tasks and applications using Hadoop Pipes, Hadoop Streaming etc. By default it is left unspecified to let cluster admins control it via limits.conf and other such relevant mechanisms. Note: mapred.child.ulimit must be greater than or equal to the -Xmx passed to JavaVM, else the VM might not start.

mapred.cluster.map.memory.mb

The size, in terms of virtual memory, of a single map slot in the Map-Reduce framework, used by the scheduler. A job can ask for multiple slots for a single map task via mapred.job.map.memory.mb, upto the limit specified by mapred.cluster.max.map.memory.mb, if the scheduler supports the feature. The value of -1 indicates that this feature is turned off.

Default value: -1

mapred.cluster.max.map.memory.mb

The maximum size, in terms of virtual memory, of a single map task launched by the Map-Reduce framework, used by the scheduler. A job can ask for multiple slots for a single map task via mapred.job.map.memory.mb, upto the limit specified by mapred.cluster.max.map.memory.mb, if the scheduler supports the feature. The value of -1 indicates that this feature is turned off.

Default value: -1

mapred.cluster.max.reduce.memory.mb

The maximum size, in terms of virtual memory, of a single reduce task launched by the Map-Reduce framework, used by the scheduler. A job can ask for multiple slots for a single reduce task via mapred.job.reduce.memory.mb, upto the limit specified by mapred.cluster.max.reduce.memory.mb, if the scheduler supports the feature. The value of -1 indicates that this feature is turned off.

Default value: -1

mapred.cluster.reduce.memory.mb

The size, in terms of virtual memory, of a single reduce slot in the Map-Reduce framework, used by the scheduler. A job can ask for multiple slots for a single reduce task via mapred.job.reduce.memory.mb, upto the limit specified by mapred.cluster.max.reduce.memory.mb, if the scheduler supports the feature. The value of -1 indicates that this feature is turned off.

Default value: -1

mapred.compress.map.output

Should the outputs of the maps be compressed before being sent across the network. Uses SequenceFile compression.

Default value: false

mapred.healthChecker.interval

Frequency of the node health script to be run, in milliseconds.

Default value: 60000

mapred.healthChecker.script.args

List of arguments which are to be passed to node health script when it is being launched comma seperated.

mapred.healthChecker.script.path

Absolute path to the script which is periodicallyrun by the node health monitoring service to determine if the node is healthy or not. If the value of this key is empty or the file does not exist in the location configured here, the node health monitoring service is not started.

mapred.healthChecker.script.timeout

Time after node health script should be killed if unresponsive and considered that the script has failed.

Default value: 600000

mapred.hosts.exclude

Names a file that contains the list of hosts that should be excluded by the jobtracker. If the value is empty, no hosts are excluded.

mapred.hosts

Names a file that contains the list of nodes that may connect to the jobtracker. If the value is empty, all hosts are permitted.

mapred.inmem.merge.threshold

The threshold, in terms of the number of files for the in-memory merge process. When we accumulate threshold number of files we initiate the in-memory merge and spill to disk. A value of 0 or less than 0 indicates we want to DON'T have any threshold and instead depend only on the ramfs's memory consumption to trigger the merge.

Default value: 1000

mapred.job.map.memory.mb

The size, in terms of virtual memory, of a single map task for the job. A job can ask for multiple slots for a single map task, rounded up to the next multiple of mapred.cluster.map.memory.mb and upto the limit specified by mapred.cluster.max.map.memory.mb, if the scheduler supports the feature. The value of -1 indicates that this feature is turned off iff mapred.cluster.map.memory.mb is also turned off (-1).

Default value: -1

mapred.job.map.memory.physical.mb

Maximum physical memory limit for map task of this job. If limit is exceeded task attempt will be FAILED.

mapred.job.queue.name

Queue to which a job is submitted. This must match one of the queues defined in mapred.queue.names for the system. Also, the ACL setup for the queue must allow the current user to submit a job to the queue. Before specifying a queue, ensure that the system is configured with the queue, and access is allowed for submitting jobs to the queue.

Default value: default

mapred.job.reduce.input.buffer.percent

The percentage of memory- relative to the maximum heap size- to retain map outputs during the reduce. When the shuffle is concluded, any remaining map outputs in memory must consume less than this threshold before the reduce can begin.

Default value: 0.0

mapred.job.reduce.memory.mb

The size, in terms of virtual memory, of a single reduce task for the job. A job can ask for multiple slots for a single map task, rounded up to the next multiple of mapred.cluster.reduce.memory.mb and upto the limit specified by mapred.cluster.max.reduce.memory.mb, if the scheduler supports the feature. The value of -1 indicates that this feature is turned off iff mapred.cluster.reduce.memory.mb is also turned off (-1).

Default value: -1

mapred.job.reduce.memory.physical.mb

Maximum physical memory limit for reduce task of this job. If limit is exceeded task attempt will be FAILED..

mapred.job.reuse.jvm.num.tasks

How many tasks to run per jvm. If set to -1, there is no limit.

Default value: -1

mapred.job.shuffle.input.buffer.percent

The percentage of memory to be allocated from the maximum heap size to storing map outputs during the shuffle.

Default value: 0.70

mapred.job.shuffle.merge.percent

The usage threshold at which an in-memory merge will be initiated, expressed as a percentage of the total memory allocated to storing in-memory map outputs, as defined by mapred.job.shuffle.input.buffer.percent.

Default value: 0.66

mapred.job.tracker.handler.count

The number of server threads for the JobTracker. This should be roughly 4% of the number of tasktracker nodes.

Default value: 10

mapred.job.tracker.history.completed.location

The completed job history files are stored at this single well-known location. If nothing is specified, the files are stored at $<hadoop.job.history.location>/done in local filesystem.

Defauly value: /var/mapr/cluster/mapred/jobTracker/history/done

mapred.job.tracker.http.address

The job tracker http server address and port the server will listen on. If the port is 0 then the server will start on a free port.

Default value: 0.0.0.0:50030

mapred.job.tracker.persist.jobstatus.active

Indicates if persistency of job status information is active or not.

Default value: false

mapred.job.tracker.persist.jobstatus.dir

The directory where the job status information is persisted in a file system to be available after it drops of the memory queue and between jobtracker restarts.

Default value: /var/mapr/cluster/mapred/jobTracker/jobsInfo

mapred.job.tracker.persist.jobstatus.hours

The number of hours job status information is persisted in DFS. The job status information will be available after it drops of the memory queue and between jobtracker restarts. With a zero value the job status information is not persisted at all in DFS.

Default value: 0

mapred.job.tracker

jobTracker address ip:port or use uri maprfs:/// for default cluster or maprfs:///mapr/san_jose_cluster1 to connect 'san_jose_cluster1' cluster.

Default value: localhost:9001

mapred.jobtracker.completeuserjobs.maximum

The maximum number of complete jobs per user to keep around before delegating them to the job history.

Default value: 100

mapred.jobtracker.instrumentation

Expert: The instrumentation class to associate with each JobTracker.

Default value: org.apache.hadoop.mapred.JobTrackerMetricsInst

mapred.jobtracker.job.history.block.size

The block size of the job history file. Since the job recovery uses job history, its important to dump job history to disk as soon as possible. Note that this is an expert level parameter. The default is 3 MB.

Default value: 3145728

mapred.jobtracker.jobhistory.lru.cache.size

The number of job history files loaded in memory. The jobs are loaded when they are first accessed. The cache is cleared based on LRU.

Default value: 5

mapred.jobtracker.maxtasks.per.job

The maximum number of tasks for a single job. A value of -1 indicates that there is no maximum.

Default value: -1

mapred.jobtracker.plugins

Comma-separated list of jobtracker plug-ins to be activated.

mapred.jobtracker.port

Port on which JobTracker listens.

Default value: 9001

mapred.jobtracker.restart.recover

"true" to enable (job) recovery upon restart, "false" to start afresh

Default value: true

mapred.jobtracker.retiredjobs.cache.size

The number of retired job status to keep in the cache.

Default value: 1000

mapred.jobtracker.taskScheduler.maxRunningTasksPerJob

The maximum number of running tasks for a job before it gets preempted. No limits if undefined.

mapred.jobtracker.taskScheduler

The class responsible for scheduling the tasks.

Default value: org.apache.hadoop.mapred.JobQueueTaskScheduler

mapred.line.input.format.linespermap

Number of lines per split in NLineInputFormat.

Default value: 1

mapred.local.dir.minspacekill

If the space in mapred.local.dir drops under this, do not ask more tasks until all the current ones have finished and cleaned up. Also, to save the rest of the tasks we have running, kill one of them, to clean up some space. Start with the reduce tasks, then go with the ones that have finished the least. Value in bytes.

Default value: 0

mapred.local.dir.minspacestart

If the space in mapred.local.dir drops under this, do not ask for more tasks. Value in bytes.

Default value: 0

mapred.local.dir

The local directory where MapReduce stores intermediate data files. May be a comma-separated list of directories on different devices in order to spread disk i/o. Directories that do not exist are ignored.

Default value: $<hadoop.tmp.dir>/mapred/local

mapred.map.child.env

User added environment variables for the map task processes. Example : 1) A=foo This will set the env variable A to foo 2) B=$B:c This is inherit tasktracker's B env variable.

mapred.map.child.java.opts

Java opts for the map tasks. The following symbol, if present, will be interpolated: @taskid@ is replaced by current TaskID. Any other occurrences of '@' will go unchanged. For example, to enable verbose gc logging to a file named for the taskid in /tmp and to set the heap maximum to be a gigabyte, pass a value of: -Xmx1024m -verbose:gc -Xloggc:/tmp/@taskid@.gc The configuration variable mapred.<map/reduce>.child.ulimit can be used to control the maximum virtual memory of the child processes. MapR: Default heapsize(-Xmx) is determined by memory reserved for mapreduce at tasktracker. A reduce task is given more memory than a map task. Default memory for a map task = (Total Memory reserved for mapreduce) * (#mapslots/ (#mapslots + 1.3*#reduceslots))

Default value: -XX:ErrorFile=/opt/cores/hadoop/java_error%p.log

mapred.map.child.ulimit

The maximum virtual memory, in KB, of a process launched by the Map-Reduce framework. This can be used to control the Mapper tasks and applications using Hadoop Pipes, Hadoop Streaming etc. By default, it is left unspecified to let cluster admins control it via limits.conf and other such relevant mechanisms. Note: mapred.<map/reduce>.child.ulimit must be greater than or equal to the -Xmx passed to JavaVM, or else the VM might not start.

mapred.map.max.attempts

Expert: The maximum number of attempts per map task. In other words, framework will try to execute a map task these many number of times before giving up on it.

Default value: 4

mapred.map.output.compression.codec

If the map outputs are compressed, how should they be compressed?

Default value: org.apache.hadoop.io.compress.DefaultCodec

mapred.map.tasks.speculative.execution

If true, then multiple instances of some map tasks may be executed in parallel.

Default value: true

mapred.map.tasks

The default number of map tasks per job. Ignored when mapred.job.tracker is "local".

Default value: 2

mapred.max.tracker.blacklists

The number of blacklists for a taskTracker by various jobs after which the task tracker could be blacklisted across all jobs. The tracker will be given a tasks later (after a day). The tracker will become a healthy tracker after a restart.

Default value: 4

mapred.max.tracker.failures

The number of task-failures on a tasktracker of a given job after which new tasks of that job aren't assigned to it.

Default value: 4

mapred.merge.recordsBeforeProgress

The number of records to process during merge before sending a progress notification to the TaskTracker.

Default value: 10000

mapred.min.split.size

The minimum size chunk that map input should be split into. Note that some file formats may have minimum split sizes that take priority over this setting.

Default value: 0

mapred.output.compress

Should the job outputs be compressed?

Default value: false

mapred.output.compression.type

If the job outputs are to compressed as SequenceFiles, how should they be compressed? Should be one of NONE, RECORD or BLOCK.

Default value: RECORD

mapred.queue.default.state

This values defines the state , default queue is in. the values can be either "STOPPED" or "RUNNING" This value can be changed at runtime.

Default value: RUNNING

mapred.queue.names

Comma separated list of queues configured for this jobtracker. Jobs are added to queues and schedulers can configure different scheduling properties for the various queues. To configure a property for a queue, the name of the queue must match the name specified in this value. Queue properties that are common to all schedulers are configured here with the naming convention, mapred.queue.$QUEUE-NAME.$PROPERTY-NAME, for e.g. mapred.queue.default.submit-job-acl. The number of queues configured in this parameter could depend on the type of scheduler being used, as specified in mapred.jobtracker.taskScheduler. For example, the JobQueueTaskScheduler supports only a single queue, which is the default configured here. Before adding more queues, ensure that the scheduler you've configured supports multiple queues.

Default value: default

mapred.reduce.child.env

User added environment variables for the reduce task processes. Example : 1) A=foo This will set the env variable A to foo 2) B=$B:c This is inherit tasktracker's B env variable.

mapred.reduce.child.java.opts

Java opts for the reduce tasks. MapR: Default heapsize(-Xmx) is determined by memory reserved for mapreduce at tasktracker. Reduce task is given more memory than map task. Default memory for a reduce task = (Total Memory reserved for mapreduce) * (1.3*#reduceslots / (#mapslots + 1.3*#reduceslots))

Default value: -XX:ErrorFile=/opt/cores/hadoop/java_error%p.log

mapred.reduce.child.ulimit

The maximum virtual memory, in KB, of a process launched by the Map-Reduce framework. This can be used to control the Reducer tasks and applications using Hadoop Pipes, Hadoop Streaming etc. By default, it is left unspecified to let cluster admins control it via limits.conf and other such relevant mechanisms. Note: mapred.<map/reduce>.child.ulimit must be greater than or equal to the -Xmx passed to JavaVM, or else the VM might not start.

mapred.reduce.copy.backoff

The maximum amount of time (in seconds) a reducer spends on fetching one map output before declaring it as failed.

Default value: 300

mapred.reduce.max.attempts

Expert: The maximum number of attempts per reduce task. In other words, framework will try to execute a reduce task these many number of times before giving up on it.

Default value: 4

mapred.reduce.parallel.copies

The default number of parallel transfers run by reduce during the copy(shuffle) phase.

Default value: 12

mapred.reduce.slowstart.completed.maps

Fraction of the number of maps in the job which should be complete before reduces are scheduled for the job.

Default value: 0.95

mapred.reduce.tasks.speculative.execution

If true, then multiple instances of some reduce tasks may be executed in parallel.

Default value: true

mapred.reduce.tasks

The default number of reduce tasks per job. Typically set to 99% of the cluster's reduce capacity, so that if a node fails the reduces can still be executed in a single wave. Ignored when mapred.job.tracker is "local".

Default value: 1

mapred.skip.attempts.to.start.skipping

The number of Task attempts AFTER which skip mode will be kicked off. When skip mode is kicked off, the tasks reports the range of records which it will process next, to the TaskTracker. So that on failures, tasktracker knows which ones are possibly the bad records. On further executions, those are skipped.

Default value: 2

mapred.skip.map.auto.incr.proc.count

The flag which if set to true, SkipBadRecords.COUNTER_MAP_PROCESSED_RECORDS is incremented by MapRunner after invoking the map function. This value must be set to false for applications which process the records asynchronously or buffer the input records. For example streaming. In such cases applications should increment this counter on their own.

Default value: true

mapred.skip.map.max.skip.records

The number of acceptable skip records surrounding the bad record PER bad record in mapper. The number includes the bad record as well. To turn the feature of detection/skipping of bad records off, set the value to 0. The framework tries to narrow down the skipped range by retrying until this threshold is met OR all attempts get exhausted for this task. Set the value to Long.MAX_VALUE to indicate that framework need not try to narrow down. Whatever records(depends on application) get skipped are acceptable.

Default value: 0

mapred.skip.out.dir

If no value is specified here, the skipped records are written to the output directory at _logs/skip. User can stop writing skipped records by giving the value "none".

mapred.skip.reduce.auto.incr.proc.count

The flag which if set to true, SkipBadRecords.COUNTER_REDUCE_PROCESSED_GROUPS is incremented by framework after invoking the reduce function. This value must be set to false for applications which process the records asynchronously or buffer the input records. For example streaming. In such cases applications should increment this counter on their own.

Default value: true

mapred.skip.reduce.max.skip.groups

The number of acceptable skip groups surrounding the bad group PER bad group in reducer. The number includes the bad group as well. To turn the feature of detection/skipping of bad groups off, set the value to 0. The framework tries to narrow down the skipped range by retrying until this threshold is met OR all attempts get exhausted for this task. Set the value to Long.MAX_VALUE to indicate that framework need not try to narrow down. Whatever groups(depends on application) get skipped are acceptable.

Default value: 0

mapred.submit.replication

The replication level for submitted job files. This should be around the square root of the number of nodes.

Default value: 10

mapred.system.dir

The shared directory where MapReduce stores control files.

Default value: /var/mapr/cluster/mapred/jobTracker/system

mapred.task.cache.levels

This is the max level of the task cache. For example, if the level is 2, the tasks cached are at the host level and at the rack level.

Default value: 2

mapred.task.ping.timeout

The number of milliseconds that can lapse between pings to TaskTracker. If a task attempt does not ping TaskTracker within the configured amount of time, TaskTracker terminates the task attempt.

Default value: 60000

mapred.task.profile.maps

Sets the ranges of map tasks to profile. mapred.task.profile has to be set to true for the value to be accounted.

Default value: 0-2

mapred.task.profile.reduces

Sets the ranges of reduce tasks to profile. mapred.task.profile has to be set to true for the value to be accounted.

Default value: 0-2

mapred.task.profile

To set whether the system should collect profiler information for some of the tasks in this job? The information is stored in the user log directory. The value is "true" if task profiling is enabled.

Default value: false

mapred.task.timeout

The number of milliseconds before a task will be terminated if it neither reads an input, writes an output, nor updates its status string.

Default value: 600000

mapred.task.tracker.http.address

The task tracker http server address and port. If the port is 0 then the server will start on a free port.

Default value: 0.0.0.0:50060

mapred.task.tracker.report.address

The interface and port that task tracker server listens on. Since it is only connected to by the tasks, it uses the local interface. EXPERT ONLY. Should only be changed if your host does not have the loopback interface.

Default value: 127.0.0.1:0

mapred.task.tracker.task-controller

TaskController which is used to launch and manage task execution.

Default value: org.apache.hadoop.mapred.DefaultTaskController

mapred.tasktracker.dns.interface

The name of the Network Interface from which a task tracker should report its IP address.

Default value: default

mapred.tasktracker.dns.nameserver

The host name or IP address of the name server (DNS) which a TaskTracker should use to determine the host name used by the JobTracker for communication and display purposes.

Default value: default

mapred.tasktracker.expiry.interval

Expert: The time-interval, in miliseconds, after which a tasktracker is declared 'lost' if it doesn't send heartbeats.

Default value: 600000

mapred.tasktracker.indexcache.mb

The maximum memory that a task tracker allows for the index cache that is used when serving map outputs to reducers.

Default value: 10

mapred.tasktracker.instrumentation

Expert: The instrumentation class to associate with each TaskTracker.

Default value: org.apache.hadoop.mapred.TaskTrackerMetricsInst

mapred.tasktracker.map.tasks.maximum

The maximum number of map tasks that will be run simultaneously by a task tracker.

See Resource Allocation for Jobs and Applications.

mapred.tasktracker.memory_calculator_plugin

Name of the class whose instance will be used to query memory information on the tasktracker. The class must be an instance of org.apache.hadoop.util.MemoryCalculatorPlugin. If the value is null, the tasktracker attempts to use a class appropriate to the platform. Currently, the only platform supported is Linux.

mapred.tasktracker.reduce.tasks.maximum

The maximum number of reduce tasks that will be run simultaneously by a task tracker.

See Resource Allocation for Jobs and Applications.

mapred.tasktracker.taskmemorymanager.monitoring-interval

The interval, in milliseconds, for which the tasktracker waits between two cycles of monitoring its tasks' memory usage. Used only if tasks' memory management is enabled via mapred.tasktracker.tasks.maxmemory.

Default value: 5000

mapred.tasktracker.tasks.sleeptime-before-sigkill

The time, in milliseconds, the tasktracker waits for sending a SIGKILL to a process, after it has been sent a SIGTERM.

Default value: 5000

mapred.temp.dir

A shared directory for temporary files.

Default value: $<hadoop.tmp.dir>/mapred/temp

mapred.user.jobconf.limit

The maximum allowed size of the user jobconf. The default is set to 5 MB.

Default value: 5242880

mapred.userlog.limit.kb

The maximum size of user-logs of each task in KB. 0 disables the cap.

Default value: 0

mapred.userlog.retain.hours

The maximum time, in hours, for which the user-logs are to be retained after the job completion.

Default value: 24

mapreduce.heartbeat.10

heartbeat in milliseconds for small cluster (less than or equal 10 nodes)

Default value: 300

mapreduce.heartbeat.100

heartbeat in milliseconds for medium cluster (11 - 100 nodes). Scales linearly between 300ms - 1s

Default value: 1000

mapreduce.heartbeat.1000

heartbeat in milliseconds for medium cluster (101 - 1000 nodes). Scales linearly between 1s - 10s

Default value: 10000

mapreduce.heartbeat.10000

heartbeat in milliseconds for medium cluster (1001 - 10000 nodes). Scales linearly between 10s - 100s

Default value: 100000

mapreduce.job.acl-modify-job

job specific access-control list for 'modifying' the job. It is only used if authorization is enabled in Map/Reduce by setting the configuration property mapred.acls.enabled to true. This specifies the list of users and/or groups who can do modification operations on the job. For specifying a list of users and groups the format to use is "user1,user2 group1,group". If set to '*', it allows all users/groups to modify this job. If set to ' '(i.e. space), it allows none. This configuration is used to guard all the modifications with respect to this job and takes care of all the following operations: o killing this job o killing a task of this job, failing a task of this job o setting the priority of this job Each of these operations are also protected by the per-queue level ACL "acl-administer-jobs" configured via mapred-queues.xml. So a caller should have the authorization to satisfy either the queue-level ACL or the job-level ACL. Irrespective of this ACL configuration, job-owner, the user who started the cluster, cluster administrators configured via mapreduce.cluster.administrators and queue administrators of the queue to which this job is submitted to configured via mapred.queue.queue-name.acl-administer-jobs in mapred-queue-acls.xml can do all the modification operations on a job. By default, nobody else besides job-owner, the user who started the cluster, cluster administrators and queue administrators can perform modification operations on a job.

mapreduce.job.acl-view-job

job specific access-control list for 'viewing' the job. It is only used if authorization is enabled in Map/Reduce by setting the configuration property mapred.acls.enabled to true. This specifies the list of users and/or groups who can view private details about the job. For specifying a list of users and groups the format to use is "user1,user2 group1,group". If set to '*', it allows all users/groups to modify this job. If set to ' '(i.e. space), it allows none. This configuration is used to guard some of the job-views and at present only protects APIs that can return possibly sensitive information of the job-owner like o job-level counters o task-level counters o tasks' diagnostic information o task-logs displayed on the TaskTracker web-UI and o job.xml showed by the JobTracker's web-UI Every other piece of information of jobs is still accessible by any other user, for e.g., JobStatus, JobProfile, list of jobs in the queue, etc. Irrespective of this ACL configuration, job-owner, the user who started the cluster, cluster administrators configured via mapreduce.cluster.administrators and queue administrators of the queue to which this job is submitted to configured via mapred.queue.queue-name.acl-administer-jobs in mapred-queue-acls.xml can do all the view operations on a job. By default, nobody else besides job-owner, the user who started the cluster, cluster administrators and queue administrators can perform view operations on a job.

mapreduce.job.complete.cancel.delegation.tokens

if false - do not unregister/cancel delegation tokens from renewal, because same tokens may be used by spawned jobs.

Default value: true

mapreduce.job.split.metainfo.maxsize

The maximum permissible size of the split metainfo file. The JobTracker won't attempt to read split metainfo files bigger than the configured value. No limits if set to -1.

Default value: 10000000

mapreduce.jobtracker.recovery.dir

Recovery Directory

Default value: /var/mapr/cluster/mapred/jobTracker/recovery

mapreduce.jobtracker.recovery.job.initialization.maxtime

Maximum time in seconds JobTracker will wait for initializing jobs before starting recovery. By default it is same as mapreduce.jobtracker.recovery.maxtime.

mapreduce.jobtracker.recovery.maxtime

Maximum time in seconds JobTracker should stay in recovery mode. JobTracker recovers job after talking to all running tasktrackers. On large cluster if many jobs are to be recovered, mapreduce.jobtracker.recovery.maxtime should be increased.

Default value: 480

mapreduce.jobtracker.staging.root.dir

The root of the staging area for users' job files In practice, this should be the directory where users' home directories are located (usually /user)

Default value: /var/mapr/cluster/mapred/jobTracker/staging

mapreduce.maprfs.use.checksum

Deprecated; checksums are always used.

Default value: true

mapreduce.maprfs.use.compression

When true, MapReduce uses compression during the Shuffle phase.

Default value: true

mapreduce.reduce.input.limit

The limit on the input size of the reduce. If the estimated input size of the reduce is greater than this value, job is failed. A value of -1 means that there is no limit set.

Default value: -1

mapreduce.task.classpath.user.precedence

Set to true if user wants to set different classpath.

Default value: fals e

mapreduce.tasktracker.group

Expert: Group to which TaskTracker belongs. If LinuxTaskController is configured via mapreduce.tasktracker.taskcontroller, the group owner of the task-controller binary should be same as this group.

mapreduce.tasktracker.heapbased.memory.management

Expert only: If admin wants to prevent swapping by not launching too many tasks use this option. Task's memory usage is based on max java heap size (-Xmx). By default -Xmx will be computed by tasktracker based on slots and memory reserved for mapreduce tasks. See mapred.map.child.java.opts/mapred.reduce.child.java.opts.

Default value: fals e

mapreduce.tasktracker.jvm.idle.time

If jvm is idle for more than mapreduce.tasktracker.jvm.idle.time (milliseconds) tasktracker will kill it.

Default value: 10000

mapreduce.tasktracker.outofband.heartbeat

Expert: Set this to true to let the tasktracker send an out-of-band heartbeat on task-completion for better latency.

Default value: fals e

mapreduce.tasktracker.prefetch.maptasks

How many map tasks should be scheduled in advance on a tasktracker, expressed as a % of map slots. Default is 0.0 which means no overscheduled tasks allowed on tasktracker.

Default value: 0.0

mapreduce.tasktracker.reserved.physicalmemory.mb

Maximum phyiscal memory tasktracker should reserve for mapreduce tasks. If tasks use more than the limit, task using maximum memory will be killed. Expert only: Set this value iff tasktracker should use a certain amount of memory for mapreduce tasks. In MapR Distro warden figures this number based on services configured on a node. Setting mapreduce.tasktracker.reserved.physicalmemory.mb to -1 will disable physical memory accounting and task management.

mapreduce.tasktracker.volume.healthcheck.interval

How often tasktracker should check for mapreduce volume at $<mapr.localvolumes.path>/mapred/. Value is in milliseconds.

Default value: 60000

mapreduce.use.fastreduce

Expert only . Reducer won't be able to tolerate failures.

Default value: fals e

mapreduce.use.maprfs

If true, then mapreduce uses maprfs to store task related data may be executed in parallel.

Default value: tru e

tasktracker.http.threads

The number of worker threads that for the http server. This is used for map output fetching

Default value: 2