2008-09-23 10:51:22 -04:00
|
|
|
<?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>
|
2008-10-15 01:18:31 -04:00
|
|
|
<property>
|
2009-03-18 16:46:18 -04:00
|
|
|
<name>run.distributed</name>
|
|
|
|
<value>false</value>
|
|
|
|
<description>Enable this to run a distributed HBase. When this is disabled
|
|
|
|
(the default) HBase runs all processes on the current host in a local mode.
|
2008-10-15 01:18:31 -04:00
|
|
|
</description>
|
|
|
|
</property>
|
2009-03-18 16:46:18 -04:00
|
|
|
<property>
|
|
|
|
<name>hbase.master.hostname</name>
|
|
|
|
<value>localhost</value>
|
|
|
|
<description>The host that the HBase master runs at.</description>
|
|
|
|
</property>
|
|
|
|
<property>
|
|
|
|
<name>hbase.master.port</name>
|
|
|
|
<value>60000</value>
|
|
|
|
<description>The port master should bind to.</description>
|
|
|
|
</property>
|
|
|
|
<property>
|
|
|
|
<name>hbase.tmp.dir</name>
|
|
|
|
<value>/tmp/hbase-${user.name}</value>
|
|
|
|
<description>Temporary directory on the local filesystem.</description>
|
|
|
|
</property>
|
2008-09-23 10:51:22 -04:00
|
|
|
<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>
|
2008-10-17 18:03:29 -04:00
|
|
|
<property>
|
|
|
|
<name>hbase.client.write.buffer</name>
|
2008-12-12 20:15:39 -05:00
|
|
|
<value>2097152</value>
|
2008-10-17 18:03:29 -04:00
|
|
|
<description>Size of the write buffer in bytes. A bigger buffer takes more
|
2008-12-12 20:15:39 -05:00
|
|
|
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
|
2008-10-17 18:03:29 -04:00
|
|
|
</description>
|
|
|
|
</property>
|
2008-10-15 01:18:31 -04:00
|
|
|
<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>
|
2008-09-23 10:51:22 -04:00
|
|
|
<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
|
2008-10-11 00:06:10 -04:00
|
|
|
in milliseconds. Default is 3 seconds.
|
2008-09-23 10:51:22 -04:00
|
|
|
</description>
|
|
|
|
</property>
|
|
|
|
<property>
|
|
|
|
<name>hbase.regionserver.maxlogentries</name>
|
2008-10-22 22:30:35 -04:00
|
|
|
<value>100000</value>
|
2008-09-23 10:51:22 -04:00
|
|
|
<description>Rotate the HRegion HLogs when count of entries exceeds this
|
2008-10-22 22:30:35 -04:00
|
|
|
value. Default: 100,000. Value is checked by a thread that runs every
|
2008-09-23 10:51:22 -04:00
|
|
|
hbase.server.thread.wakefrequency.
|
|
|
|
</description>
|
|
|
|
</property>
|
|
|
|
<property>
|
2008-10-22 22:30:35 -04:00
|
|
|
<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
|
2008-09-23 10:51:22 -04:00
|
|
|
</description>
|
|
|
|
</property>
|
|
|
|
<property>
|
2008-10-22 22:30:35 -04:00
|
|
|
<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.
|
2008-09-23 10:51:22 -04:00
|
|
|
</description>
|
|
|
|
</property>
|
2009-01-21 13:18:02 -05:00
|
|
|
<property>
|
|
|
|
<name>hbase.regionserver.hlog.blocksize</name>
|
2009-01-23 17:37:01 -05:00
|
|
|
<value>1048576</value>
|
2009-01-21 13:18:02 -05:00
|
|
|
<description>Block size for HLog files. To minimize potential data loss,
|
|
|
|
the size should be (avg key length) * (avg value length) * flushlogentries.
|
2009-01-23 17:37:01 -05:00
|
|
|
Default 1MB.
|
2009-01-21 13:18:02 -05:00
|
|
|
</description>
|
|
|
|
</property>
|
2008-10-15 01:18:31 -04:00
|
|
|
<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>
|
2008-12-04 15:01:06 -05:00
|
|
|
<name>hbase.regionserver.globalMemcache.upperLimit</name>
|
|
|
|
<value>0.4</value>
|
2008-10-15 01:18:31 -04:00
|
|
|
<description>Maximum size of all memcaches in a region server before new
|
2008-12-04 15:01:06 -05:00
|
|
|
updates are blocked and flushes are forced. Defaults to 40% of heap.
|
2008-10-15 01:18:31 -04:00
|
|
|
</description>
|
|
|
|
</property>
|
|
|
|
<property>
|
2008-12-04 15:01:06 -05:00
|
|
|
<name>hbase.regionserver.globalMemcache.lowerLimit</name>
|
|
|
|
<value>0.25</value>
|
2008-10-15 01:18:31 -04:00
|
|
|
<description>When memcaches are being forced to flush to make room in
|
2008-12-04 15:01:06 -05:00
|
|
|
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
|
2008-10-15 01:18:31 -04:00
|
|
|
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>
|
2009-02-08 13:37:00 -05:00
|
|
|
<property>
|
|
|
|
<name>hbase.regions.percheckin</name>
|
|
|
|
<value>10</value>
|
|
|
|
<description>Maximum number of regions that can be assigned in a single go
|
|
|
|
to a region server.
|
|
|
|
</description>
|
|
|
|
</property>
|
2008-10-15 01:18:31 -04:00
|
|
|
<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>
|
2008-09-23 10:51:22 -04:00
|
|
|
<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>
|
2008-10-15 01:18:31 -04:00
|
|
|
<name>hbase.regions.slop</name>
|
|
|
|
<value>0.1</value>
|
|
|
|
<description>Rebalance if regionserver has average + (average * slop) regions.
|
|
|
|
Default is 10% slop.
|
2008-09-23 10:51:22 -04:00
|
|
|
</description>
|
|
|
|
</property>
|
|
|
|
<property>
|
|
|
|
<name>hbase.io.index.interval</name>
|
2008-12-20 00:32:22 -05:00
|
|
|
<value>128</value>
|
2008-09-23 10:51:22 -04:00
|
|
|
<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.
|
2008-12-20 00:32:22 -05:00
|
|
|
Downside to high index interval is lowered access times.
|
2008-09-23 10:51:22 -04:00
|
|
|
</description>
|
|
|
|
</property>
|
2009-02-25 00:34:29 -05:00
|
|
|
<property>
|
|
|
|
<name>hfile.min.blocksize.size</name>
|
|
|
|
<value>65536</value>
|
|
|
|
<description>Minimum store file block size. The smaller you make this, the
|
|
|
|
bigger your index and the less you fetch on a random-access. Set size down
|
|
|
|
if you have small cells and want faster random-access of individual cells.
|
|
|
|
</description>
|
|
|
|
</property>
|
2009-02-25 00:59:26 -05:00
|
|
|
<property>
|
|
|
|
<name>hfile.min.blocksize.size</name>
|
|
|
|
<value>65536</value>
|
|
|
|
<description>Minimum store file block size. The smaller you make this, the
|
|
|
|
bigger your index and the less you fetch on a random-access. Set size down
|
|
|
|
if you have small cells and want faster random-access of individual cells.
|
|
|
|
</description>
|
|
|
|
</property>
|
|
|
|
<property>
|
|
|
|
<name>hfile.min.blocksize.size</name>
|
|
|
|
<value>65536</value>
|
|
|
|
<description>Minimum store file block size. The smaller you make this, the
|
|
|
|
bigger your index and the less you fetch on a random-access. Set size down
|
|
|
|
if you have small cells and want faster random-access of individual cells.
|
|
|
|
</description>
|
|
|
|
</property>
|
2008-09-23 10:51:22 -04:00
|
|
|
<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>
|
2008-10-27 14:02:55 -04:00
|
|
|
<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
|
2009-01-16 14:07:42 -05:00
|
|
|
let go when high pressure on memory. Block caching is not enabled by default.
|
2008-09-23 10:51:22 -04:00
|
|
|
</description>
|
|
|
|
</property>
|
2008-09-23 14:10:06 -04:00
|
|
|
<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>
|
2009-01-29 20:22:05 -05:00
|
|
|
<property>
|
|
|
|
<name>zookeeper.session.timeout</name>
|
|
|
|
<value>10000</value>
|
|
|
|
<description>ZooKeeper session timeout. This option is not used by HBase
|
|
|
|
directly, it is for the internals of ZooKeeper. HBase merely passes it in
|
|
|
|
whenever a connection is established to ZooKeeper. It is used by ZooKeeper
|
|
|
|
for hearbeats. In milliseconds.
|
|
|
|
</description>
|
|
|
|
</property>
|
|
|
|
<property>
|
|
|
|
<name>zookeeper.retries</name>
|
|
|
|
<value>5</value>
|
|
|
|
<description>How many times to retry connections to ZooKeeper. Used for
|
|
|
|
reading/writing root region location, checking/writing out of safe mode.
|
|
|
|
Used together with ${zookeeper.pause} in an exponential backoff fashion
|
|
|
|
when making queries to ZooKeeper.
|
|
|
|
</description>
|
|
|
|
</property>
|
|
|
|
<property>
|
|
|
|
<name>zookeeper.pause</name>
|
|
|
|
<value>2000</value>
|
|
|
|
<description>Sleep time between retries to ZooKeeper. In milliseconds. Used
|
|
|
|
together with ${zookeeper.retries} in an exponential backoff fashion when
|
|
|
|
making queries to ZooKeeper.
|
|
|
|
</description>
|
|
|
|
</property>
|
|
|
|
<property>
|
|
|
|
<name>zookeeper.znode.parent</name>
|
|
|
|
<value>/hbase</value>
|
|
|
|
<description>Root ZNode for HBase in ZooKeeper. All of HBase's ZooKeeper
|
|
|
|
files that are configured with a relative path will go under this node.
|
|
|
|
By default, all of HBase's ZooKeeper file patsh are configured with a
|
|
|
|
relative path, so they will all go under this directory unless changed.
|
|
|
|
</description>
|
|
|
|
</property>
|
|
|
|
<property>
|
|
|
|
<name>zookeeper.znode.rootserver</name>
|
|
|
|
<value>root-region-server</value>
|
|
|
|
<description>Path to ZNode holding root region location. This is written by
|
|
|
|
the master and read by clients and region servers. If a relative path is
|
|
|
|
given, the parent folder will be ${zookeeper.znode.parent}. By default,
|
|
|
|
this means the root location is stored at /hbase/root-region-server.
|
|
|
|
</description>
|
|
|
|
</property>
|
|
|
|
<property>
|
|
|
|
<name>zookeeper.znode.safemode</name>
|
|
|
|
<value>safe-mode</value>
|
|
|
|
<description>Path to ephemeral ZNode signifying cluster is out of safe mode.
|
|
|
|
This is created by the master when scanning is done. Clients wait for this
|
|
|
|
node before querying the cluster. If a relative path is given, the parent
|
|
|
|
folder will be ${zookeeper.znode.parent}. By default, this means the safe
|
|
|
|
mode flag is stored at /hbase/safe-mode.
|
|
|
|
</description>
|
|
|
|
</property>
|
2008-09-23 10:51:22 -04:00
|
|
|
</configuration>
|