Skip to content

Latest commit

 

History

History
255 lines (243 loc) · 7.9 KB

configuration.md

File metadata and controls

255 lines (243 loc) · 7.9 KB

Configuration

Mesos introduces some new parameters for configuring your Hadoop cluster. Below is a sample configuration with a description of the fields and their default values.

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

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

<configuration>
  <!-- Basic properties -->
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:54311</value>
  </property>
  <property>
    <name>mapred.jobtracker.taskScheduler</name>
    <value>org.apache.hadoop.mapred.MesosScheduler</value>
  </property>
  <property>
    <name>mapred.mesos.taskScheduler</name>
    <value>org.apache.hadoop.mapred.JobQueueTaskScheduler</value>
    <description>
      This is the underlying task scheduler for the jobtracker. You may use
      other schedulers, like org.apache.hadoop.mapred.FairScheduler.
    </description>
  </property>
  <property>
    <name>mapred.mesos.master</name>
    <value>local</value>
    <description>
      This is the address of the Mesos master instance. If you're using
      Zookeeper for master election, use the Zookeeper address here (i.e.,
      zk://zk.apache.org:2181/hadoop/mesos).
    </description>
  </property>
  <property>
    <name>mapred.mesos.executor.uri</name>
    <value>hdfs://hdfs.name.node:port/hadoop.tar.gz</value>
    <description>
      This is the URI of the Hadoop on Mesos distribution.
      NOTE: You need to MANUALLY upload this yourself!
    </description>
  </property>

  <!-- The properties below indicate the amount of resources that are allocated
    to a Hadoop slot (i.e., map/reduce task) by Mesos. -->
  <property>
    <name>mapred.mesos.slot.cpus</name>
    <value>1</value>
    <description>This is the amount of CPU share allocated per slot. This number may be fractional (i.e., 0.5).</description>
  </property>
  <property>
    <name>mapred.mesos.slot.disk</name>
    <value>1024</value>
    <description>This is the disk space required per slot. The value is in
      MiB.</description>
  </property>
  <property>
    <name>mapred.mesos.slot.mem</name>
    <value>1024</value>
    <description>
      This is the total memory required for JVM overhead (10% of this value)
      and the heap (-Xmx) of the task. The value is in MiB.
    </description>
  </property>

  <!-- Resource policies -->
  <property>
    <name>mapred.mesos.total.map.slots.minimum</name>
    <value>0</value>
    <description>
      Mesos will attempt to make at least this many number of map slots
      available at a given time. This does not necessarily mean the slots will
      be idle, and this does not guarantee these slots will be available.
    </description>
  </property>
  <property>
    <name>mapred.mesos.total.reduce.slots.minimum</name>
    <value>0</value>
    <description>
      Mesos will attempt to make at least this many number of reduce slots
      available at a given time. This does not necessarily mean the slots will
      be idle, and this does not guarantee these slots will be available.
    </description>
  </property>
  <property>
    <name>mapred.tasktracker.map.tasks.maximum</name>
    <value>50</value>
    <description>
      This is the maximum number of tasks per task tracker. If you use the
      fixed resource policy, Mesos will always allocate this many slots per
      task tracker.
    </description>
  </property>
  <property>
    <name>mapred.tasktracker.reduce.tasks.maximum</name>
    <value>50</value>
    <description>
      This is the maximum number of tasks per task tracker. If you use the
      fixed resource policy, Mesos will always allocate this many slots per
      task tracker.
    </description>
  </property>
  <property>
    <name>mapred.mesos.scheduler.policy.fixed</name>
    <value>false</value>
    <description>
      If this is set to true, Mesos will always allocate a fixed number of
      slots per task tracker based on the maximum map/reduce slot
      specification. If a resource offer is not large enough for the number of
      slots specified, that resource offer will be declined.
    </description>
  </property>

  <!-- Additional Mesos parameters -->
  <property>
    <name>mapred.mesos.checkpoint</name>
    <value>false</value>
    <description>
      This value enables/disables checkpointing for this framework.
    </description>
  </property>
  <property>
    <name>mapred.mesos.role</name>
    <value>*</value>
    <description>
      This is the Mesos framework role. This can be used in conjunction with
      Mesos reservations. Consult the Mesos documentation for details.
    </description>
  </property>

  <!-- If you're using a custom Mesos Containerizer -->
  <property>
    <name>mapred.mesos.container.image</name>
    <value>docker:///ubuntu</value>
    <description>
      If you're using a custom Mesos Containerizer (like the External Containerizer)
      that uses images, you can set this option to cause Hadoop TaskTrackers to
      be launched within this container image.
    </description>
  </property>
  <property>
    <name>mapred.mesos.container.options</name>
    <value></value>
    <description>
      Comma separated list of options to pass to the containerizer. The meaning
      of this entirely depends on the containerizer in use.
    </description>
  </property>

  <!-- Metrics -->
  <property>
    <name>mapred.mesos.metrics.enabled</name>
    <value>false</value>
    <description>
      Set this to `true` to enable metric reporting with the Coda Hale Metrics
      library.
    </description>
  </property>

  <!-- Metrics - CSV reporting -->
  <property>
    <name>mapred.mesos.metrics.csv.enabled</name>
    <value>false</value>
    <description>
      Set this to `true` to enable CSV reporting with the Coda Hale Metrics
      library.
    </description>
  </property>
  <property>
    <name>mapred.mesos.metrics.csv.path</name>
    <value>/path/to/metrics/csv/metrics.csv</value>
    <description>
      Set this to a file which will be created with CSV metrics data.
    </description>
    <property>
      <name>mapred.mesos.metrics.csv.interval</name>
      <value>60</value>
    </property>
  </property>

  <!-- Metrics - Graphite reporting -->
  <property>
    <name>mapred.mesos.metrics.graphite.enabled</name>
    <value>false</value>
    <description>
      Set this to `true` to enable Graphite reporting with the Coda Hale Metrics
      library.
    </description>
  </property>
  <property>
    <name>mapred.mesos.metrics.graphite.host</name>
    <value>graphite.host.name</value>
  </property>
  <property>
    <name>mapred.mesos.metrics.graphite.port</name>
    <value>2003</value>
  </property>
  <property>
    <name>mapred.mesos.metrics.graphite.prefix</name>
    <value>prefix</value>
  </property>
  <property>
    <name>mapred.mesos.metrics.graphite.interval</name>
    <value>60</value>
  </property>

  <!-- Metrics - Cassandra reporting -->
  <property>
    <name>mapred.mesos.metrics.cassandra.enabled</name>
    <value>false</value>
    <description>
      Set this to `true` to enable Cassandra reporting with the Coda Hale
      Metrics library.
    </description>
  </property>
  <property>
    <name>mapred.mesos.metrics.cassandra.hosts</name>
    <value>localhost</value>
  </property>
  <property>
    <name>mapred.mesos.metrics.cassandra.port</name>
    <value>9042</value>
  </property>
  <property>
    <name>mapred.mesos.metrics.cassandra.interval</name>
    <value>60</value>
  </property>
  <property>
    <name>mapred.mesos.metrics.cassandra.prefix</name>
    <value>prefix</value>
  </property>
  <property>
    <name>mapred.mesos.metrics.cassandra.ttl</name>
    <value>864000</value>
  </property>
  <property>
    <name>mapred.mesos.metrics.cassandra.keyspace</name>
    <value>metrics</value>
  </property>
  <property>
    <name>mapred.mesos.metrics.cassandra.table</name>
    <value>metrics</value>
  </property>
  <property>
    <name>mapred.mesos.metrics.cassandra.consistency</name>
    <value>QUORUM</value>
  </property>
</configuration>