| <?xml version="1.0"?> |
| <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> |
| <!-- |
| /** |
| * Copyright 2007 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>file:///tmp/hbase-${user.name}/hbase</value> |
| <description>The directory shared by region servers. |
| Should be fully-qualified to include the filesystem to use. |
| E.g: hdfs://NAMENODE_SERVER:PORT/HBASE_ROOTDIR |
| </description> |
| </property> |
| <property> |
| <name>hbase.master</name> |
| <value>local</value> |
| <description>The host and port that the HBase master runs at. |
| A value of 'local' runs the master and a regionserver in |
| a single process. |
| </description> |
| </property> |
| <property> |
| <name>hbase.master.info.port</name> |
| <value>60010</value> |
| <description>The port for the hbase master web UI |
| Set to -1 if you do not want the info server to run. |
| </description> |
| </property> |
| <property> |
| <name>hbase.master.info.bindAddress</name> |
| <value>0.0.0.0</value> |
| <description>The address for the hbase master web UI |
| </description> |
| </property> |
| <property> |
| <name>hbase.client.write.buffer</name> |
| <value>2097152</value> |
| <description>Size of the write buffer in bytes. A bigger buffer takes more |
| memory -- on both the client and server side since server instantiates |
| the passed write buffer to process it -- but reduces the number of RPC. |
| For an estimate of server-side memory-used, evaluate |
| hbase.client.write.buffer * hbase.regionserver.handler.count |
| </description> |
| </property> |
| <property> |
| <name>hbase.master.meta.thread.rescanfrequency</name> |
| <value>60000</value> |
| <description>How long the HMaster sleeps (in milliseconds) between scans of |
| the root and meta tables. |
| </description> |
| </property> |
| <property> |
| <name>hbase.master.lease.period</name> |
| <value>120000</value> |
| <description>HMaster server lease period in milliseconds. Default is |
| 120 seconds. Region servers must report in within this period else |
| they are considered dead. On loaded cluster, may need to up this |
| period.</description> |
| </property> |
| <property> |
| <name>hbase.regionserver</name> |
| <value>0.0.0.0:60020</value> |
| <description>The host and port a HBase region server runs at. |
| </description> |
| </property> |
| <property> |
| <name>hbase.regionserver.dns.interface</name> |
| <value>default</value> |
| <description>Name of the network interface which a regionserver |
| should use to determine it's "real" IP address. This lookup |
| prevents strings like "localhost" and "127.0.0.1" from being |
| reported back to the master. |
| </description> |
| </property> |
| <property> |
| <name>hbase.regionserver.info.port</name> |
| <value>60030</value> |
| <description>The port for the hbase regionserver web UI |
| Set to -1 if you do not want the info server to run. |
| </description> |
| </property> |
| <property> |
| <name>hbase.regionserver.info.bindAddress</name> |
| <value>0.0.0.0</value> |
| <description>The address for the hbase regionserver web UI |
| </description> |
| </property> |
| <property> |
| <name>hbase.regionserver.class</name> |
| <value>org.apache.hadoop.hbase.ipc.HRegionInterface</value> |
| <description>An interface that is assignable to HRegionInterface. Used in HClient for |
| opening proxy to remote region server. |
| </description> |
| </property> |
| <property> |
| <name>hbase.client.pause</name> |
| <value>2000</value> |
| <description>General client pause value. Used mostly as value to wait |
| before running a retry of a failed get, region lookup, etc.</description> |
| </property> |
| <property> |
| <name>hbase.client.retries.number</name> |
| <value>10</value> |
| <description>Maximum retries. Used as maximum for all retryable |
| operations such as fetching of the root region from root region |
| server, getting a cell's value, starting a row update, etc. |
| Default: 10. |
| </description> |
| </property> |
| <property> |
| <name>hbase.client.scanner.caching</name> |
| <value>30</value> |
| <description>Number of rows that will be fetched when calling next |
| on a scanner if it is not served from memory. Higher caching values |
| will enable faster scanners but will eat up more memory and some |
| calls of next may take longer and longer times when the cache is empty. |
| </description> |
| </property> |
| <property> |
| <name>hbase.regionserver.lease.period</name> |
| <value>60000</value> |
| <description>HRegion server lease period in milliseconds. Default is |
| 60 seconds. Clients must report in within this period else they are |
| considered dead.</description> |
| </property> |
| <property> |
| <name>hbase.regionserver.handler.count</name> |
| <value>10</value> |
| <description>Count of RPC Server instances spun up on RegionServers |
| Same property is used by the HMaster for count of master handlers. |
| Default is 10. |
| </description> |
| </property> |
| <property> |
| <name>hbase.regionserver.msginterval</name> |
| <value>3000</value> |
| <description>Interval between messages from the RegionServer to HMaster |
| in milliseconds. Default is 3 seconds. |
| </description> |
| </property> |
| <property> |
| <name>hbase.regionserver.maxlogentries</name> |
| <value>100000</value> |
| <description>Rotate the HRegion HLogs when count of entries exceeds this |
| value. Default: 100,000. Value is checked by a thread that runs every |
| hbase.server.thread.wakefrequency. |
| </description> |
| </property> |
| <property> |
| <name>hbase.regionserver.flushlogentries</name> |
| <value>100</value> |
| <description>Sync the HLog to the HDFS when it has accumulated this many |
| entries. Default 100. Value is checked on every HLog.append |
| </description> |
| </property> |
| <property> |
| <name>hbase.regionserver.optionallogflushinterval</name> |
| <value>10000</value> |
| <description>Sync the HLog to the HDFS after this interval if it has not |
| accumulated enough entries to trigger a sync. Default 10 seconds. Units: |
| milliseconds. |
| </description> |
| </property> |
| <property> |
| <name>hbase.regionserver.thread.splitcompactcheckfrequency</name> |
| <value>20000</value> |
| <description>How often a region server runs the split/compaction check. |
| </description> |
| </property> |
| <property> |
| <name>hbase.regionserver.nbreservationblocks</name> |
| <value>4</value> |
| <description>The number of reservation blocks which are used to prevent |
| unstable region servers caused by an OOME. |
| </description> |
| </property> |
| <property> |
| <name>hbase.regionserver.globalMemcache.upperLimit</name> |
| <value>0.4</value> |
| <description>Maximum size of all memcaches in a region server before new |
| updates are blocked and flushes are forced. Defaults to 40% of heap. |
| </description> |
| </property> |
| <property> |
| <name>hbase.regionserver.globalMemcache.lowerLimit</name> |
| <value>0.25</value> |
| <description>When memcaches are being forced to flush to make room in |
| memory, keep flushing until we hit this mark. Defaults to 30% of heap. |
| This value equal to hbase.regionserver.globalmemcache.upperLimit causes |
| the minimum possible flushing to occur when updates are blocked due to |
| memcache limiting. |
| </description> |
| </property> |
| <property> |
| <name>hbase.hbasemaster.maxregionopen</name> |
| <value>120000</value> |
| <description>Period to wait for a region open. If regionserver |
| takes longer than this interval, assign to a new regionserver. |
| </description> |
| </property> |
| <property> |
| <name>hbase.server.thread.wakefrequency</name> |
| <value>10000</value> |
| <description>Time to sleep in between searches for work (in milliseconds). |
| Used as sleep interval by service threads such as META scanner and log roller. |
| </description> |
| </property> |
| <property> |
| <name>hbase.regionserver.safemode.period</name> |
| <value>120000</value> |
| <description>Time to wait on regionserver startup before beginning |
| compactions and memcache flushes.</description> |
| </property> |
| <property> |
| <name>hbase.hregion.memcache.flush.size</name> |
| <value>67108864</value> |
| <description> |
| A HRegion memcache will be flushed to disk if size of the memcache |
| exceeds this number of bytes. Value is checked by a thread that runs |
| every hbase.server.thread.wakefrequency. |
| </description> |
| </property> |
| <property> |
| <name>hbase.hregion.memcache.block.multiplier</name> |
| <value>2</value> |
| <description> |
| Block updates if memcache has hbase.hregion.block.memcache |
| time hbase.hregion.flush.size bytes. Useful preventing |
| runaway memcache during spikes in update traffic. Without an |
| upper-bound, memcache fills such that when it flushes the |
| resultant flush files take a long time to compact or split, or |
| worse, we OOME. |
| </description> |
| </property> |
| <property> |
| <name>hbase.hregion.max.filesize</name> |
| <value>268435456</value> |
| <description> |
| Maximum HStoreFile size. If any one of a column families' HStoreFiles has |
| grown to exceed this value, the hosting HRegion is split in two. |
| Default: 256M. |
| </description> |
| </property> |
| <property> |
| <name>hbase.hstore.compactionThreshold</name> |
| <value>3</value> |
| <description> |
| If more than this number of HStoreFiles in any one HStore |
| (one HStoreFile is written per flush of memcache) then a compaction |
| is run to rewrite all HStoreFiles files as one. Larger numbers |
| put off compaction but when it runs, it takes longer to complete. |
| During a compaction, updates cannot be flushed to disk. Long |
| compactions require memory sufficient to carry the logging of |
| all updates across the duration of the compaction. |
| |
| If too large, clients timeout during compaction. |
| </description> |
| </property> |
| <property> |
| <name>hbase.hstore.compaction.max</name> |
| <value>10</value> |
| <description>Max number of HStoreFiles to compact per 'minor' compaction. |
| </description> |
| </property> |
| <property> |
| <name>hbase.hregion.majorcompaction</name> |
| <value>86400000</value> |
| <description>The time (in miliseconds) between 'major' compactions of all |
| HStoreFiles in a region. Default: 1 day. |
| </description> |
| </property> |
| <property> |
| <name>hbase.regions.slop</name> |
| <value>0.1</value> |
| <description>Rebalance if regionserver has average + (average * slop) regions. |
| Default is 10% slop. |
| </description> |
| </property> |
| <property> |
| <name>hbase.io.index.interval</name> |
| <value>128</value> |
| <description>The interval at which we record offsets in hbase |
| store files/mapfiles. Default for stock mapfiles is 128. Index |
| files are read into memory. If there are many of them, could prove |
| a burden. If so play with the hadoop io.map.index.skip property and |
| skip every nth index member when reading back the index into memory. |
| Downside to high index interval is lowered access times. |
| </description> |
| </property> |
| <property> |
| <name>hbase.io.seqfile.compression.type</name> |
| <value>NONE</value> |
| <description>The compression type for hbase sequencefile.Writers |
| such as hlog. |
| </description> |
| </property> |
| <property> |
| <name>hbase.hstore.blockCache.blockSize</name> |
| <value>16384</value> |
| <description>The size of each block in the block cache. |
| Enable blockcaching on a per column family basis; see the BLOCKCACHE setting |
| in HColumnDescriptor. Blocks are kept in a java Soft Reference cache so are |
| let go when high pressure on memory. Block caching is not enabled by default. |
| </description> |
| </property> |
| <property> |
| <name>hbase.hash.type</name> |
| <value>murmur</value> |
| <description>The hashing algorithm for use in HashFunction. Two values are |
| supported now: murmur (MurmurHash) and jenkins (JenkinsHash). |
| </description> |
| </property> |
| </configuration> |