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

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

<configuration xmlns:xi="http://www.w3.org/2001/XInclude">

<!-- ResourceManager -->

  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value><%=scope.function_hdp_host("yarn_rm_host")%>:8025</value>
  </property>

  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value><%=scope.function_hdp_host("yarn_rm_host")%>:8030</value>
  </property>
  
  <property>
    <name>yarn.resourcemanager.address</name>
    <value><%=scope.function_hdp_host("yarn_rm_host")%>:8050</value>
  </property>

	<property>
    <name>yarn.resourcemanager.admin.address</name>
    <value><%=scope.function_hdp_host("yarn_rm_host")%>:8141</value>
	</property>

  <property>
   <name>yarn.resourcemanager.scheduler.class</name>
   <value><%=scope.function_hdp_template_var("scheduler_name")%></value>
  </property>

  <property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value><%=scope.function_hdp_template_var("yarn_scheduler_min_alloc_mb")%></value>
  </property>

  <property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value><%=scope.function_hdp_template_var("yarn_scheduler_max_alloc_mb")%></value>
  </property>

<!-- NodeManager -->

  <property>
    <name>yarn.nodemanager.address</name>
    <value>0.0.0.0:45454</value>
  </property>

  <property>
    <name>yarn.nodemanager.webapp.address</name>
    <value>0.0.0.0:50060</value>
  </property>

  <property>
    <name>yarn.nodemanager.local-dirs</name>
    <value><%=scope.function_hdp_template_var("yarn_nm_local_dirs")%></value>
  </property>

  <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value><%=scope.function_hdp_template_var("yarn_nm_resource_memory_mb")%></value>
    <description>Amount of physical memory, in MB, that can be allocated
      for containers.</description>
  </property>

  <property>
    <name>yarn.application.classpath</name>
    <value>/etc/hadoop/conf,/usr/lib/hadoop/*,/usr/lib/hadoop/lib/*,/usr/lib/hadoop-hdfs/*,/usr/lib/hadoop-hdfs/lib/*,/usr/lib/hadoop-yarn/*,/usr/lib/hadoop-yarn/lib/*,/usr/lib/hadoop-mapreduce/*,/usr/lib/hadoop-mapreduce/lib/*</value>
  <description>Classpath for typical applications.</description>
  </property>

  <property>
    <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>2.1</value>
    <description>Ratio between virtual memory to physical memory when
    setting memory limits for containers. Container allocations are
    expressed in terms of physical memory, and virtual memory usage
    is allowed to exceed this allocation by this ratio.
    </description>
  </property>
  
  <property>
    <name>yarn.nodemanager.container-executor.class</name>
    <value><%=scope.function_hdp_template_var("container_executor")%></value>
    <description>ContainerExecutor for launching containers</description>
  </property>
 
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce.shuffle</value>
    <description>Auxilliary services of NodeManager</description>
  </property>

  <property>
    <name>yarn.nodemanager.aux-services.\1.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>

  <property>
    <name>yarn.nodemanager.log-dirs</name>
    <value><%=scope.function_hdp_template_var("yarn_nm_log_dirs")%></value>
  </property>

  <property>
    <name>yarn.nodemanager.container-monitor.interval-ms</name>
    <value>3000</value>
    <description>The interval, in milliseconds, for which the node manager
    waits  between two cycles of monitoring its containers' memory usage. 
    </description>
  </property>

  <property>
    <name>yarn.nodemanager.health-checker.script.path</name>
    <value><%=scope.function_hdp_template_var("conf_dir")%>/health_check</value>
  </property>

  <property>
    <name>yarn.nodemanager.health-checker.interval-ms</name>
    <value>135000</value>
  </property>

  <property>
    <name>yarn.nodemanager.health-checker.script.timeout-ms</name>
    <value>60000</value>
  </property>

  <property>
    <name>yarn.nodemanager.log.retain-second</name>
    <value>604800</value>
  </property>

  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>

  <property>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/app-logs</value>
  </property>

  <property>
    <name>yarn.nodemanager.remote-app-log-dir-suffix</name>
    <value>logs</value>
  </property>

  <property>
    <name>yarn.nodemanager.log-aggregation.compression-type</name>
    <value>gz</value> 
  </property>

  <property>
    <name>yarn.nodemanager.delete.debug-delay-sec</name>
    <value>36000</value>
  </property>


</configuration>
