<configuration>
    <property>
      <name>yarn.acl.enable</name>
      <value>true</value>
    </property>

    <property>
      <name>yarn.admin.acl</name>
      <value/>
    </property>

    <property>
      <name>yarn.application.classpath</name>
      <value>$HADOOP_CONF_DIR,/usr/hdp/current/hadoop-client/*,/usr/hdp/current/hadoop-client/lib/*,/usr/hdp/current/hadoop-hdfs-client/*,/usr/hdp/current/hadoop-hdfs-client/lib/*,/usr/hdp/current/hadoop-yarn-client/*,/usr/hdp/current/hadoop-yarn-client/lib/*</value>
    </property>

    <property>
      <name>yarn.client.nodemanager-connect.max-wait-ms</name>
      <value>900000</value>
    </property>

    <property>
      <name>yarn.client.nodemanager-connect.retry-interval-ms</name>
      <value>10000</value>
    </property>

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

    <property>
      <name>yarn.log-aggregation.retain-seconds</name>
      <value>2592000</value>
    </property>

    <property>
      <name>yarn.log.server.url</name>
      <value>https://TODO-JOBHISTORYNODE-HOSTNAME:19888/jobhistory/logs</value>
    </property>

    <property>
      <name>yarn.node-labels.fs-store.retry-policy-spec</name>
      <value>2000, 500</value>
    </property>

    <!-- Directory on HDFS used to store YARN node labels -->
    <property>
      <name>yarn.node-labels.fs-store.root-dir</name>
      <value>/system/yarn/node-labels</value>
    </property>

    <!-- To enable Node Labels, set the value to org.apache.hadoop.yarn.server.resourcemanager.nodelabels.RMNodeLabelsManager -->
    <property>
      <name>yarn.node-labels.manager-class</name>
      <value>org.apache.hadoop.yarn.server.resourcemanager.nodelabels.MemoryRMNodeLabelsManager</value>
    </property>

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

    <property>
      <name>yarn.nodemanager.admin-env</name>
      <value>MALLOC_ARENA_MAX=$MALLOC_ARENA_MAX</value>
    </property>

    <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
    </property>

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

    <property>
      <name>yarn.nodemanager.bind-host</name>
      <value>0.0.0.0</value>
    </property>

    <property>
      <name>yarn.nodemanager.container-monitor.interval-ms</name>
      <value>3000</value>
    </property>

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

        <property>
      <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
      <value>90</value>
    </property>

    <property>
      <name>yarn.nodemanager.disk-health-checker.min-free-space-per-disk-mb</name>
      <value>1000</value>
    </property>

    <property>
      <name>yarn.nodemanager.disk-health-checker.min-healthy-disks</name>
      <value>0.25</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>

    <!-- CGroup Isolation configurations -->
    <property>
      <name>yarn.nodemanager.linux-container-executor.cgroups.hierarchy</name>
      <value>hadoop-yarn</value>
    </property>

    <property>
      <name>yarn.nodemanager.linux-container-executor.cgroups.mount</name>
      <value>false</value>
    </property>

    <property>
      <name>yarn.nodemanager.linux-container-executor.cgroups.strict-resource-usage</name>
      <value>false</value>
    </property>

    <property>
      <name>yarn.nodemanager.linux-container-executor.group</name>
      <value>hadoop</value>
    </property>

    <property>
      <name>yarn.nodemanager.linux-container-executor.resources-handler.class</name>
      <value>org.apache.hadoop.yarn.server.nodemanager.util.DefaultLCEResourcesHandler</value>
    </property>
    <!-- End: CGroup Isolation configurations -->

    <property>
      <name>yarn.nodemanager.local-dirs</name>
      <value>TODO-YARN-LOCAL-DIR</value>
    </property>

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

    <property>
      <name>yarn.nodemanager.log-aggregation.debug-enabled</name>
      <value>false</value>
    </property>

    <property>
      <name>yarn.nodemanager.log-aggregation.num-log-files-per-app</name>
      <value>30</value>
    </property>

    <property>
      <name>yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds</name>
      <value>-1</value>
    </property>

    <property>
      <name>yarn.nodemanager.log-dirs</name>
      <value>TODO-YARN-LOCAL-LOG-DIR</value>
    </property>

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

    <property>
      <name>yarn.nodemanager.recovery.dir</name>
      <value>/var/log/hadoop-yarn/nodemanager/recovery-state</value>
    </property>

    <property>
      <name>yarn.nodemanager.recovery.enabled</name>
      <value>false</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.resourcemanager.am.max-attempts</name>
      <value>2</value>
    </property>

    <property>
      <name>yarn.resourcemanager.connect.max-wait.ms</name>
      <value>900000</value>
    </property>

    <property>
      <name>yarn.resourcemanager.connect.retry-interval.ms</name>
      <value>30000</value>
    </property>

    <property>
      <name>yarn.resourcemanager.fs.state-store.retry-policy-spec</name>
      <value>2000, 500</value>
    </property>

    <property>
      <name>yarn.resourcemanager.fs.state-store.uri</name>
      <value> </value>
    </property>


    <property>
      <name>yarn.resourcemanager.nodes.exclude-path</name>
      <value>/etc/hadoop/conf/yarn.exclude</value>
    </property>

    <property>
      <name>yarn.resourcemanager.recovery.enabled</name>
      <value>false</value>
    </property>


    <property>
      <name>yarn.resourcemanager.scheduler.class</name>
      <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
    </property>

    <property>
      <name>yarn.resourcemanager.state-store.max-completed-applications</name>
      <value>${yarn.resourcemanager.max-completed-applications}</value>
    </property>

    <property>
      <name>yarn.resourcemanager.store.class</name>
      <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
    </property>

    <property>
      <name>yarn.resourcemanager.system-metrics-publisher.dispatcher.pool-size</name>
      <value>10</value>
    </property>

    <property>
      <name>yarn.resourcemanager.system-metrics-publisher.enabled</name>
      <value>true</value>
    </property>


    <property>
      <name>yarn.resourcemanager.webapp.delegation-token-auth-filter.enabled</name>
      <value>false</value>
    </property>

    <property>
      <name>yarn.resourcemanager.work-preserving-recovery.enabled</name>
      <value>false</value>
    </property>

    <property>
      <name>yarn.resourcemanager.work-preserving-recovery.scheduling-wait-ms</name>
      <value>10000</value>
    </property>

    <property>
      <name>yarn.resourcemanager.zk-acl</name>
      <value>world:anyone:rwcda</value>
    </property>

    <!--
    	Comma seperated list of Zookeeper nodes' URIs. Adjust this to match the
    	number of Zookeeper nodes deployed.
    	-->
    <property>
      <name>yarn.resourcemanager.zk-address</name>
      <value>TODO-ZOOKEEPER1-HOST:2181,TODO-ZOOKEEPER2-HOST:2181,TODO-ZOOKEEPER3-HOST:2181</value>
    </property>

    <property>
      <name>yarn.resourcemanager.zk-num-retries</name>
      <value>1000</value>
    </property>

    <property>
      <name>yarn.resourcemanager.zk-retry-interval-ms</name>
      <value>1000</value>
    </property>

    <property>
      <name>yarn.resourcemanager.zk-state-store.parent-path</name>
      <value>/rmstore</value>
    </property>

    <property>
      <name>yarn.resourcemanager.zk-timeout-ms</name>
      <value>10000</value>
    </property>

   <!--
		MANDATORY:
					Use the documentation or configuration tool to determine the memory
					settings according to the environment HDP is being deployed to

    <property>
      <name>yarn.scheduler.maximum-allocation-mb</name>
      <value>TODO-CALCULATE-MEMORY-SETTINGS</value>
    </property>

    <property>
      <name>yarn.scheduler.minimum-allocation-mb</name>
      <value>TODO-CALCULATE-MEMORY-SETTINGS</value>
    </property>

    <property>
      <name>yarn.nodemanager.resource.cpu-vcores</name>
      <value>TODO-CALCULATE-MEMORY-SETTINGS</value>
    </property>

    <property>
      <name>yarn.nodemanager.resource.memory-mb</name>
      <value>TODO-CALCULATE-MEMORY-SETTINGS</value>
    </property>

		<property>
      <name>yarn.nodemanager.resource.percentage-physical-cpu-limit</name>
      <value>TODO-CALCULATE-MEMORY-SETTINGS</value>

    </property>
    -->
    <!-- Memory/CPU settings end -->

    <property>
      <name>yarn.nodemanager.vmem-check-enabled</name>
      <value>false</value>
    </property>

    <property>
      <name>yarn.nodemanager.vmem-pmem-ratio</name>
      <value>2.1</value>
    </property>

		<!--
			This sets the container framework that will launch and manage YARN
			containers.

			For Secure deployments, this should be set to:
			org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor
			-->
		<property>
      <name>yarn.nodemanager.container-executor.class</name>
      <value>org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor</value>
    </property>

		<!--
				This enables or disables wire encryption for YARN.

				The possible values for this are:
				* HTTP_ONLY
				* HTTPS_ONLY
		-->
    <property>
      <name>yarn.http.policy</name>
      <value>HTTP_ONLY</value>
    </property>

    <!--
    The following configurations are only applicable to when ResourceManager HA
    is enabled.

    ResourceManager HA settings:

    <property>
      <name>yarn.resourcemanager.ha.enabled</name>
      <value>true</value>
    </property>

    <property>
    <name>yarn.resourcemanager.ha.rm-ids</name>
    <value>rm1,rm2</value>
   </property>

   <property>
      <name>yarn.resourcemanager.hostname.rm1</name>
      <value>TODO-RESOURCEMANAGERNODE1-HOSTNAME</value>
   </property>

   <property>
      <name>yarn.resourcemanager.hostname.rm2</name>
      <value>TODO-RESOURCEMANAGERNODE2-HOSTNAME</value>
   </property>

   <property>
      <name>yarn.resourcemanager.webapp.address.rm1</name>
      <value>TODO-RESOURCEMANAGERNODE1-HOSTNAME:8088</value>
      <description>We can set rm1_web_address separately. If not, it will use
      ${yarn.resourcemanager.hostname.rm1}:DEFAULT_RM_WEBAPP_PORT</description>
   </property>

   <property>
      <name>yarn.resourcemanager.webapp.address.rm2</name>
      <value>TODO-RESOURCEMANAGERNODE2-HOSTNAME:8088</value>
   </property>

   <property>
      <name>yarn.resourcemanager.zk-address</name>
    <value>TODO-ZK1-HOSTNAME,TODO-ZK2-HOSTNAME,TODO-ZK3-HOSTNAME</value>
   </property>

   <property>
     <name>yarn.client.failover-proxy-provider</name>
     <value>org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider</value>
   </property>

		- ResourceManager HA settings end -->


<!-- Application Timeline Server

    <property>
      <name>yarn.timeline-service.enabled</name>
      <value>true</value>
    </property>

    <property>
      <name>yarn.timeline-service.address</name>
      <value>TODO-TIMELINESERVER-HOSTNAME:10200</value>
    </property>

    <property>
      <name>yarn.timeline-service.generic-application-history.store-class</name>
      <value>org.apache.hadoop.yarn.server.applicationhistoryservice.NullApplicationHistoryStore</value>
    </property>

    <property>
      <name>yarn.timeline-service.leveldb-timeline-store.path</name>
      <value>/hadoop/yarn/timeline</value>
    </property>

    <property>
      <name>yarn.timeline-service.leveldb-timeline-store.ttl-interval-ms</name>
      <value>300000</value>
    </property>

    <property>
      <name>yarn.timeline-service.store-class</name>
      <value>org.apache.hadoop.yarn.server.timeline.LeveldbTimelineStore</value>
    </property>

    <property>
      <name>yarn.timeline-service.ttl-enable</name>
      <value>true</value>
    </property>

    <property>
      <name>yarn.timeline-service.ttl-ms</name>
      <value>2678400000</value>
    </property>

    <property>
      <name>yarn.timeline-service.webapp.address</name>
      <value>TODO-TIMELINESERVER-HOSTNAME:8188</value>
    </property>

-->


<!--
		The following settings are applicable to Kerberos enabled clusters only.

		Secure cluster configurations section start

		- If LinuxContainerExecutor is being used, this configuration is
		- needed
    <property>
      <name>yarn.nodemanager.linux-container-executor.group</name>
      <value>hadoop</value>
    </property>

    <property>
      <name>yarn.nodemanager.keytab</name>
      <value>/etc/security/keytabs/nm.service.keytab</value>
    </property>

    <property>
      <name>yarn.nodemanager.principal</name>
      <value>nm/_HOST@TODO-KERBEROS-DOMAIN</value>
    </property>

    <property>
      <name>yarn.nodemanager.webapp.spnego-keytab-file</name>
      <value>/etc/security/keytabs/spnego.service.keytab</value>
    </property>

    <property>
      <name>yarn.nodemanager.webapp.spnego-principal</name>
      <value>HTTP/_HOST@TODO-KERBEROS-DOMAIN</value>
    </property>

    <property>
      <name>yarn.resourcemanager.keytab</name>
      <value>/etc/security/keytabs/rm.service.keytab</value>
    </property>

    <property>
      <name>yarn.resourcemanager.principal</name>
      <value>rm/_HOST@TODO-KERBEROS-DOMAIN</value>
    </property>

		<property>
      <name>yarn.resourcemanager.webapp.spnego-keytab-file</name>
      <value>/etc/security/keytabs/spnego.service.keytab</value>
    </property>

    <property>
      <name>yarn.resourcemanager.webapp.spnego-principal</name>
      <value>HTTP/_HOST@TODO-KERBEROS-DOMAIN</value>
    </property>

    <property>
      <name>mapreduce.jobhistory.webapp.spnego-principal</name>
      <value>HTTP/_HOST@EXAMPLE.COM</value>
    </property>

    <property>
      <name>mapreduce.jobhistory.webapp.spnego-keytab-file</name>
      <value>/etc/security/keytabs/spnego.service.keytab</value>
    </property>

		- Timeline Server HTTPs configuration
    <property>
      <name>yarn.timeline-service.webapp.https.address</name>
      <value>TODO-TIMELINESERVER-HOSTNAME:8190</value>
    </property>

		- Secure cluster configurations section end -->


</configuration>
