anchor.diff:      <name>yarn.nodemanager.aux-services.<%= k %>.class</name>
       <value><%= cls_v['class'] %></value>
     </property>
  -
     <% end # end loop over node[:bcpc][:hadoop][:yarn][:aux_services] %>
   
     <property>
  
positive.code:     <name>yarn.resourcemanager.webapp.address</name>
      <value><%="#{float_host(@rm_hosts.first[:hostname])}:8088" if not @rm_hosts.empty?%></value>
    </property>
    <% end # if @rm_hosts.length >= 2 %>
  
    <% if node.run_list.expand(node.chef_environment).recipes.include?("bcpc-hadoop::datanode") %>
    <!-- Group nodemanager restart option with nodemanager port specification
         since a stable port is needed for a successful restart -->
    <property>
      <name>yarn.nodemanager.recovery.enabled</name>
      <value>true</value>
  
negative.code:     <value><%="#{node.chef_environment}"%></value>
    </property>
  
    <property>
      <name>yarn.resourcemanager.ha.enabled</name>
      <value>true</value>
    </property>
  
    <property>
      <name>yarn.resourcemanager.ha.rm-ids</name>
      <value><%=@rm_hosts.map{ |s| "rm#{node.chef_environment}#{s[:node_number]}" }.join(",") %></value>
    </property>
  
    <% @rm_hosts.each do |h| %>
    <property>
      <name>yarn.resourcemanager.hostname.rm<%= "#{node.chef_environment}#{h[:node_number]}" %></name>
      <value><%=float_host(h[:hostname]) %></value>
    </property>
  
    <property>
      <name>yarn.resourcemanager.resource-tracker.address.rm<%= "#{node.chef_environment}#{h[:node_number]}" %></name>
      <value><%="#{float_host(h[:hostname])}:8031"%></value>
    </property>
  
    <property>
      <name>yarn.resourcemanager.address.rm<%= "#{node.chef_environment}#{h[:node_number]}" %></name>
      <value><%=float_host(h[:hostname])%>:<%=node["bcpc"]["hadoop"]["yarn"]["resourcemanager"]["port"]%></value>
    </property>
  
    <property>
      <name>yarn.resourcemanager.scheduler.address.rm<%= "#{node.chef_environment}#{h[:node_number]}" %></name>
      <value><%="#{float_host(h[:hostname])}:8030"%></value>
    </property>
  
    <property>
      <name>yarn.resourcemanager.admin.address.rm<%= "#{node.chef_environment}#{h[:node_number]}" %></name>
      <value><%="#{float_host(h[:hostname])}:8033"%></value>
    </property>
  
    <property>
      <name>yarn.resourcemanager.webapp.address.rm<%= "#{node.chef_environment}#{h[:node_number]}" %></name>
      <value><%="#{float_host(h[:hostname])}:8088"%></value>
    </property>
  
    <property>
      <name>yarn.resourcemanager.webapp.https.address.rm<%= "#{node.chef_environment}#{h[:node_number]}" %></name>
      <value><%="#{float_host(h[:hostname])}:8090"%></value>
    </property>
    <% end # @rm_hosts.each do |h|%>
  
    <property>
      <name>yarn.resourcemanager.recovery.enabled</name>
      <value>true</value>
    </property>
  
    <property>
      <name>yarn.resourcemanager.store.class</name>
      <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
    </property>
  
    <property>
      <name>yarn.resourcemanager.zk-address</name>
      <value><%= @zk_hosts.map{ |s| float_host(s[:hostname]) + ":#{node[:bcpc][:hadoop][:zookeeper][:port]}" }.join(",") %></value>
    </property>
  
    <property>
      <name>yarn.client.failover-proxy-provider</name>
      <value>org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider</value>
    </property>
    <% else # if @rm_hosts.length >= 2 %>
  
  