<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
/**
 * Copyright 2009 The Apache Software Foundation
 *
 * 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.
 */
-->
<configuration>
  <property> <name>hbase.rootdir</name>                                        <value>hdfs://<%= @namenode_fqdn %>:8020/hadoop/hbase</value>        </property>
  <property> <name>hbase.tmp.dir</name>                                        <value><%= node[:hbase][:tmp_dir] %>/hbase-\${user.name}</value>     </property>
  <property> <name>hbase.cluster.distributed</name>                            <value>true</value>                                                  </property>
  <property> <name>hbase.zookeeper.quorum</name>                               <value><%= @zookeeper_addrs.join(",")                     %></value> </property>
  <property> <name>hbase.rest.readonly</name>                                  <value><%= @hbase[:stargate    ][:readonly]               %></value> </property>
  
  <property> <name>hbase.master.port</name>                                    <value><%= @hbase[:master      ][:port]                   %></value> </property>
  <property> <name>hbase.master.info.port</name>                               <value><%= @hbase[:master      ][:dash_port]              %></value> </property>
  <property> <name>hbase.regionserver.port</name>                              <value><%= @hbase[:regionserver][:port]                   %></value> </property>
  <property> <name>hbase.regionserver.info.port</name>                         <value><%= @hbase[:regionserver][:dash_port]              %></value> </property>
  <property> <name>hbase.rest.port</name>                                      <value><%= @hbase[:stargate    ][:port]                   %></value> </property>
  <property> <name>hbase.zookeeper.peerport</name>                             <value><%= @hbase[:zookeeper   ][:peer_port]              %></value> </property>
  <property> <name>hbase.zookeeper.leaderport</name>                           <value><%= @hbase[:zookeeper   ][:leader_port]            %></value> </property>
  <property> <name>hbase.zookeeper.property.clientPort</name>                  <value><%= @hbase[:zookeeper   ][:client_port]            %></value> </property>
    
  <property> <name>hbase.client.write.buffer</name>                            <value><%= @hbase[:client      ][:write_buffer]           %></value> </property>
  <property> <name>hbase.client.pause</name>                                   <value><%= @hbase[:client      ][:pause_period_ms]        %></value> </property>
  <property> <name>hbase.client.retries.number</name>                          <value><%= @hbase[:client      ][:retry_count]            %></value> </property>
  <property> <name>hbase.client.scanner.caching</name>                         <value><%= @hbase[:client      ][:scanner_prefetch_rows]  %></value> </property>
  <property> <name>hbase.client.keyvalue.maxsize</name>                        <value><%= @hbase[:client      ][:max_keyvalue_size]      %></value> </property>

  <property> <name>hbase.regionserver.lease.period</name>                      <value><%= @hbase[:regionserver][:lease_period]           %></value> </property>
  <property> <name>hbase.regionserver.handler.count</name>                     <value><%= @hbase[:regionserver][:handler_count]          %></value> </property>
  <property> <name>hbase.regionserver.regionSplitLimit</name>                  <value><%= @hbase[:regionserver][:split_limit]            %></value> </property>
  <property> <name>hbase.regionserver.msginterval</name>                       <value><%= @hbase[:regionserver][:msg_period]             %></value> </property>
  <property> <name>hbase.regionserver.optionallogflushinterval</name>          <value><%= @hbase[:regionserver][:log_flush_period]       %></value> </property>
  <property> <name>hbase.regionserver.logroll.period</name>                    <value><%= @hbase[:regionserver][:logroll_period]         %></value> </property>
  <property> <name>hbase.regionserver.thread.splitcompactcheckfrequency</name> <value><%= @hbase[:regionserver][:split_check_period]     %></value> </property>
  <property> <name>hbase.server.thread.wakefrequency</name>                    <value><%= @hbase[:regionserver][:worker_period]          %></value> </property>
  <property> <name>hbase.balancer.period</name>                                <value><%= @hbase[:regionserver][:balancer_period]        %></value> </property>
  <property> <name>hbase.regions.slop</name>                                   <value><%= @hbase[:regionserver][:balancer_slop]          %></value> </property>
  
  <property> <name>hbase.regionserver.global.memstore.upperLimit</name>        <value><%= @hbase[:memstore    ][:flush_upper_heap_pct]   %></value> </property>
  <property> <name>hbase.regionserver.global.memstore.lowerLimit</name>        <value><%= @hbase[:memstore    ][:flush_lower_heap_pct]   %></value> </property>
  <property> <name>hbase.hregion.memstore.flush.size</name>                    <value><%= @hbase[:memstore    ][:flush_size_trigger]     %></value> </property>
  <property> <name>hbase.hregion.preclose.flush.size</name>                    <value><%= @hbase[:memstore    ][:preflush_trigger]       %></value> </property>
  <property> <name>hbase.hregion.memstore.block.multiplier</name>              <value><%= @hbase[:memstore    ][:flush_stall_trigger]    %></value> </property>
  <property> <name>hbase.hregion.memstore.mslab.enabled</name>                 <value><%= @hbase[:memstore    ][:mslab_enabled]          %></value> </property>
  <property> <name>hbase.hregion.max.filesize</name>                           <value><%= @hbase[:regionserver][:max_filesize]           %></value> </property>
  
  <property> <name>hbase.hstore.compactionThreshold</name>                     <value><%= @hbase[:compaction  ][:files_trigger]          %></value> </property>
  <property> <name>hbase.hstore.blockingStoreFiles</name>                      <value><%= @hbase[:compaction  ][:pause_trigger]          %></value> </property>
  <property> <name>hbase.hstore.blockingWaitTime</name>                        <value><%= @hbase[:compaction  ][:pause_time]             %></value> </property>
  <property> <name>hbase.hstore.compaction.max</name>                          <value><%= @hbase[:compaction  ][:max_combine_files]      %></value> </property>
  <property> <name>hbase.hregion.majorcompaction</name>                        <value><%= @hbase[:compaction  ][:period]                 %></value> </property>

  <property> <name>hbase.mapreduce.hfileoutputformat.blocksize</name>          <value><%= @hbase[:regionserver][:hfile_block_size]       %></value> </property>
  <property> <name>hfile.block.cache.size</name>                               <value><%= @hbase[:regionserver][:block_cache_size]       %></value> </property>
<%- if @hbase[:regionserver][:required_codecs].to_s != "" %>
  <property> <name>hbase.regionserver.codecs</name>                            <value><%= @hbase[:regionserver][:required_codecs]        %></value> </property><% end %>
  <property> <name>hbase.hash.type</name>                                      <value><%= @hbase[:regionserver][:hash_type]              %></value> </property>

  <property> <name>zookeeper.session.timeout</name>                            <value><%= @hbase[:zookeeper   ][:session_timeout]        %></value> </property>
  <property> <name>zookeeper.znode.parent</name>                               <value><%= @hbase[:zookeeper   ][:znode_parent]           %></value> </property>
  <property> <name>zookeeper.znode.rootserver</name>                           <value><%= @hbase[:zookeeper   ][:znode_rootserver]       %></value> </property>
  <property> <name>hbase.zookeeper.property.maxClientCnxns</name>              <value><%= @hbase[:zookeeper   ][:max_client_connections] %></value> </property>

  <!-- <property> <name>hbase.zookeeper.property.initLimit</name>                   <value> -->
  <!-- <property> <name>hbase.zookeeper.property.syncLimit</name>                   <value> -->
  <!-- <property> <name>hbase.zookeeper.property.dataDir</name>                     <value> -->

  <!-- <property> <name>hbase.regionserver.info.bindAddress</name>                  <value>0.0.0.0</value> </property> -->
  <!-- <property> <name>hbase.zookeeper.dns.interface</name>                        <value>default</value> </property> -->
  <!-- <property> <name>hbase.regionserver.dns.interface</name>                     <value>default</value> </property> -->
  <!-- <property> <name>hbase.master.dns.interface</name>                           <value>default</value> </property> -->

  <!-- <property> <name>hbase.zookeeper.dns.nameserver</name>                       <value>default</value> </property> -->
  <!-- <property> <name>hbase.regionserver.dns.nameserver</name>                    <value>default</value> </property> -->
  <!-- <property> <name>hbase.master.dns.nameserver</name>                          <value>default</value> </property> -->
  
</configuration>
