<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>
 
  <property>
    <name>mapred.tasktracker.tasks.sleeptime-before-sigkill</name>
    <value>250</value>
    <description>Normally, this is the amount of time before killing
      processes, and the recommended-default is 5.000 seconds - a value of
      5000 here.  In this case, we are using it solely to blast tasks before
      killing them, and killing them very quickly (1/4 second) to guarantee
      that we do not leave VMs around for later jobs.
    </description>
  </property>

  <property>
    <name>mapred.system.dir</name>
    <value>/mapred/mapredsystem</value>
    <final>true</final>
  </property>

  <property>
    <name>mapred.job.tracker</name>
    <value>${HADOOP_JT_HOST}:9000</value>
    <final>true</final>
  </property>

  <property>
    <name>mapred.job.tracker.http.address</name>
    <value>${HADOOP_JT_HOST}:50030</value>
    <final>true</final>
  </property>

  <property>
    <name>mapred.local.dir</name>
    <value>${HADOOP_MAPRED_DIR}</value>
    <final>true</final>
  </property>

  <property>
    <name>mapreduce.cluster.administrators</name>
    <value>${HADOOP_MR_USER}</value>
  </property>

  <property>
    <name>mapred.map.tasks.speculative.execution</name>
    <value>false</value>
    <description>If true, then multiple instances of some map tasks
               may be executed in parallel.</description>
  </property>

  <property>
    <name>mapred.reduce.tasks.speculative.execution</name>
    <value>false</value>
    <description>If true, then multiple instances of some reduce tasks
               may be executed in parallel.</description>
  </property>

  <property>
    <name>mapred.output.compression.type</name>
    <value>BLOCK</value>
    <description>If the job outputs are to compressed as SequenceFiles, how 
       should they be compressed? Should be one of NONE, RECORD or BLOCK.
    </description>
  </property>

  <property>
    <name>jetty.connector</name>
    <value>org.mortbay.jetty.nio.SelectChannelConnector</value>
  </property>

  <property>
    <name>mapred.task.tracker.task-controller</name>
    <value>${TASK_CONTROLLER}</value>
  </property>

  <property>
    <name>mapred.child.root.logger</name>
    <value>INFO,TLA</value>
  </property>

  <property>
    <name>mapred.child.java.opts</name>
    <value>-server -Xmx640m -Djava.net.preferIPv4Stack=true</value>
  </property>

  <property>
    <name>mapred.child.ulimit</name>
    <value>8388608</value>
  </property>

  <property>
    <name>mapred.job.tracker.persist.jobstatus.active</name>
    <value>true</value>
    <description>Indicates if persistency of job status information is
      active or not.
    </description>
  </property>

  <property>
    <name>mapred.job.tracker.persist.jobstatus.dir</name>
    <value>file:///${HADOOP_LOG_DIR}/${HADOOP_MR_USER}/jobstatus</value>
    <description>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.
    </description>
  </property>

  <property>
    <name>mapred.job.tracker.history.completed.location</name>
    <value>/mapred/history/done</value>
  </property>

  <property>
    <name>mapred.heartbeats.in.second</name>
    <value>200</value>
    <description>to enable HADOOP:5784</description>
  </property>

  <property>
    <name>mapreduce.tasktracker.outofband.heartbeat</name>
    <value>true</value>
    <description>to enable MAPREDUCE:270</description>
  </property>

  <property>
    <name>mapred.jobtracker.maxtasks.per.job</name>
    <value>200000</value>
    <final>true</final>
    <description>The maximum number of tasks for a single job.
      A value of -1 indicates that there is no maximum.  
    </description>
  </property>

  <property>
    <name>mapreduce.jobtracker.kerberos.principal</name>
    <value>jt/_HOST@${local.realm}</value>   
    <description>
       JT principal
    </description>
  </property>

  <property>
    <name>mapreduce.tasktracker.kerberos.principal</name>
    <value>tt/_HOST@${local.realm}</value>   
    <description>       
       TT principal.
    </description>
  </property>


  <property>
    <name>hadoop.job.history.user.location</name>
    <value>none</value>
  </property>

  <property>
    <name>mapreduce.jobtracker.keytab.file</name>
    <value>/etc/security/keytabs/jt.service.keytab</value>
    <description>
        The keytab for the jobtracker principal.
    </description>
  </property>

  <property>
    <name>mapreduce.tasktracker.keytab.file</name>
    <value>/etc/security/keytabs/tt.service.keytab</value>
    <description>The filename of the keytab for the task tracker</description>
  </property>

  <property>
    <name>mapreduce.jobtracker.staging.root.dir</name>
    <value>/user</value>
    <description>The Path prefix for where the staging directories should be 
      placed. The next level is always the user's
      name. It is a path in the default file system.
    </description>
  </property>


  <property>
    <name>mapreduce.job.acl-modify-job</name>
    <value></value>
  </property>

  <property>
    <name>mapreduce.job.acl-view-job</name>
    <value>Dr.Who</value>
  </property>

  <property>
    <name>mapreduce.tasktracker.group</name>
    <value>${HADOOP_GROUP}</value>
    <description>The group that the task controller uses for accessing the
      task controller. The mapred user must be a member and users should *not*
      be members.
    </description> 
  </property>

  <property>
    <name>mapred.acls.enabled</name>
    <value>true</value>
  </property>
  
  <property>
    <name>mapred.jobtracker.taskScheduler</name>
    <value>org.apache.hadoop.mapred.CapacityTaskScheduler</value>
  </property>
  <property>
    <name>mapred.queue.names</name>
    <value>default</value>
  </property>

  <!-- settings for the history server -->
  <property>
    <name>mapreduce.history.server.embedded</name>
    <value>false</value>
  </property>
  <property>
    <name>mapreduce.history.server.http.address</name>
    <value>${HADOOP_JT_HOST}:51111</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.kerberos.principal</name>
    <value>jt/_HOST@${local.realm}</value>   
    <description>history server principal</description>
  </property>
  <property>
    <name>mapreduce.jobhistory.keytab.file</name>
    <value>/etc/security/keytabs/jt.service.keytab</value>
    <description>
        The keytab for the jobtracker principal.
    </description>
  </property>
  
  <property>
    <name>mapred.hosts</name>
    <value>${HADOOP_CONF_DIR}/mapred.include</value>
    <description>Names a file that contains the list of nodes that may
    connect to the jobtracker.  If the value is empty, all hosts are
    permitted.</description>
  </property>
          
  <property>
    <name>mapred.hosts.exclude</name>
    <value>${HADOOP_CONF_DIR}/mapred.exclude</value>
    <description>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.</description>
  </property>
  <property>
    <name>mapred.jobtracker.retirejob.check</name>
    <value>10000</value>
  </property>
  <property>
    <name>mapred.jobtracker.retirejob.interval</name>
    <value>0</value>
  </property>

  <property>
    <name>mapreduce.cluster.mapmemory.mb</name>
    <value>${MAPREDUCE_CLUSTER_MAPMEMORY_MB}</value>
  </property>

  <property>
    <name>mapreduce.cluster.reducememory.mb</name>
    <value>${MAPREDUCE_CLUSTER_REDUCEMEMORY_MB}</value>
  </property>

  <property>
    <name>mapreduce.jobtracker.maxmapmemory.mb</name>
    <value>${MAPREDUCE_JOBTRACKER_MAXMAPMEMORY_MB}</value>
  </property>

  <property>
    <name>mapreduce.jobtracker.maxreducememory.mb</name>
    <value>${MAPREDUCE_JOBTRACKER_MAXREDUCEMEMORY_MB}</value>
  </property>

  <property>
    <name>mapreduce.map.memory.mb</name>
    <value>${MAPREDUCE_MAP_MEMORY_MB}</value>
  </property>

  <property>
    <name>mapreduce.reduce.memory.mb</name>
    <value>${MAPREDUCE_REDUCE_MEMORY_MB}</value>
  </property>
</configuration>
