| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You 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. |
| --> |
| <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> |
| |
| <% resourcemanager_hosts = Array(@hadoop_rm_host) -%> |
| <configuration> |
| <% if @hadoop_security_authentication == "kerberos" %> |
| <!-- JobTracker security configs --> |
| <property> |
| <name>yarn.resourcemanager.principal</name> |
| <value>yarn/_HOST@<%= @kerberos_realm %></value> |
| </property> |
| <property> |
| <name>yarn.resourcemanager.keytab</name> |
| <value>/etc/yarn.keytab</value> |
| </property> |
| |
| <property> |
| <name>yarn.web-proxy.principal</name> |
| <value>yarn/_HOST@<%= @kerberos_realm %></value> |
| </property> |
| <property> |
| <name>yarn.web-proxy.keytab</name> |
| <value>/etc/yarn.keytab</value> |
| </property> |
| |
| <property> |
| <name>yarn.nodemanager.principal</name> |
| <value>yarn/_HOST@<%= @kerberos_realm %></value> |
| </property> |
| <property> |
| <name>yarn.nodemanager.keytab</name> |
| <value>/etc/yarn.keytab</value> |
| </property> |
| <property> |
| <name>yarn.nodemanager.container-executor.class</name> |
| <value>org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor</value> |
| </property> |
| <property> |
| <name>yarn.nodemanager.linux-container-executor.group</name> |
| <value>yarn</value> |
| </property> |
| <% end %> |
| |
| <% if @hadoop_ps_host %> |
| <property> |
| <name>yarn.web-proxy.address</name> |
| <value><%= @hadoop_ps_host %>:<%= @hadoop_ps_port %></value> |
| </property> |
| <% end %> |
| |
| <% if @yarn_resourcemanager_ha_enabled -%> |
| |
| <property> |
| <name>yarn.resourcemanager.ha.enabled</name> |
| <value><%= @yarn_resourcemanager_ha_enabled %></value> |
| </property> |
| |
| <property> |
| <name>yarn.resourcemanager.cluster-id</name> |
| <value><%= @yarn_resourcemanager_cluster_id %></value> |
| </property> |
| |
| <property> |
| <name>yarn.resourcemanager.ha.rm-ids</name> |
| <value><%= (1..resourcemanager_hosts.length).map { |n| "rm#{n}" }.join(",") %></value> |
| </property> |
| |
| <% resourcemanager_hosts.each_with_index do |host,idx| -%> |
| <property> |
| <name>yarn.resourcemanager.resource-tracker.address.rm<%= idx+1 %></name> |
| <value><%= host %>:<%= @hadoop_rt_port %></value> |
| </property> |
| |
| <property> |
| <name>yarn.resourcemanager.address.rm<%= idx+1 %></name> |
| <value><%= host %>:<%= @hadoop_rm_port %></value> |
| </property> |
| |
| <property> |
| <name>yarn.resourcemanager.scheduler.address.rm<%= idx+1 %></name> |
| <value><%= host %>:<%= @hadoop_sc_port %></value> |
| </property> |
| |
| <property> |
| <name>yarn.resourcemanager.admin.address.rm<%= idx+1 %></name> |
| <value><%= host %>:<%= @hadoop_rm_admin_port %></value> |
| </property> |
| |
| <property> |
| <name>yarn.resourcemanager.webapp.address.rm<%= idx+1 %></name> |
| <value><%= host %>:<%= @hadoop_rm_webapp_port %></value> |
| </property> |
| <% end -%> |
| <% if @yarn_resourcemanager_zk_address -%> |
| |
| <property> |
| <name>yarn.resourcemanager.zk-address</name> |
| <value><%= @yarn_resourcemanager_zk_address %></value> |
| </property> |
| <% end -%> |
| <% else -%> |
| <property> |
| <name>yarn.resourcemanager.resource-tracker.address</name> |
| <value><%= @hadoop_rm_host %>:<%= @hadoop_rt_port %></value> |
| </property> |
| |
| <property> |
| <name>yarn.resourcemanager.address</name> |
| <value><%= @hadoop_rm_host %>:<%= @hadoop_rm_port %></value> |
| </property> |
| |
| <property> |
| <name>yarn.resourcemanager.scheduler.address</name> |
| <value><%= @hadoop_rm_host %>:<%= @hadoop_sc_port %></value> |
| </property> |
| <% end -%> |
| |
| <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.log-aggregation-enable</name> |
| <value>true</value> |
| </property> |
| <% if @yarn_log_server_url %> |
| <property> |
| <name>yarn.log.server.url</name> |
| <value><%= @yarn_log_server_url %></value> |
| </property> |
| <% end %> |
| <property> |
| <name>yarn.dispatcher.exit-on-error</name> |
| <value>true</value> |
| </property> |
| |
| <property> |
| <name>yarn.nodemanager.local-dirs</name> |
| <value><%= @yarn_data_dirs.join(",") %></value> |
| <final>true</final> |
| </property> |
| |
| <property> |
| <description>Where to store container logs.</description> |
| <name>yarn.nodemanager.log-dirs</name> |
| <value>/var/log/hadoop-yarn/containers</value> |
| </property> |
| |
| <property> |
| <description>Where to aggregate logs to.</description> |
| <name>yarn.nodemanager.remote-app-log-dir</name> |
| <value>/var/log/hadoop-yarn/apps</value> |
| </property> |
| |
| <property> |
| <description>Classpath for typical applications.</description> |
| <name>yarn.application.classpath</name> |
| <value> |
| $HADOOP_CONF_DIR, |
| $HADOOP_COMMON_HOME/*,$HADOOP_COMMON_HOME/lib/*, |
| $HADOOP_HDFS_HOME/*,$HADOOP_HDFS_HOME/lib/*, |
| $HADOOP_MAPRED_HOME/*,$HADOOP_MAPRED_HOME/lib/*, |
| $HADOOP_YARN_HOME/*,$HADOOP_YARN_HOME/lib/* |
| </value> |
| </property> |
| <% if @yarn_scheduler_minimum_allocation_mb -%> |
| |
| <property> |
| <name>yarn.scheduler.minimum-allocation-mb</name> |
| <value><%= @yarn_scheduler_minimum_allocation_mb %></value> |
| </property> |
| <% end -%> |
| <% if @yarn_scheduler_maximum_allocation_mb -%> |
| |
| <property> |
| <name>yarn.scheduler.maximum-allocation-mb</name> |
| <value><%= @yarn_scheduler_maximum_allocation_mb %></value> |
| </property> |
| <% end -%> |
| <% if @yarn_nodemanager_resource_memory_mb -%> |
| |
| <property> |
| <name>yarn.nodemanager.resource.memory-mb</name> |
| <value><%= @yarn_nodemanager_resource_memory_mb %></value> |
| </property> |
| <% end -%> |
| <% if @yarn_resourcemanager_scheduler_class -%> |
| |
| <property> |
| <name>yarn.resourcemanager.scheduler.class</name> |
| <value><%= @yarn_resourcemanager_scheduler_class %></value> |
| </property> |
| <% end -%> |
| </configuration> |