diff --git a/hbase-common/src/main/resources/hbase-default.xml b/hbase-common/src/main/resources/hbase-default.xml index 91f4534..e82e187 100644 --- a/hbase-common/src/main/resources/hbase-default.xml +++ b/hbase-common/src/main/resources/hbase-default.xml @@ -41,16 +41,15 @@ possible configurations would overwhelm and obscure the important. - + hbase.tmp.dir ${java.io.tmpdir}/hbase-${user.name} Temporary directory on the local filesystem. Change this setting to point to a location more permanent than '/tmp', the usual resolve for java.io.tmpdir, as the - '/tmp' directory is cleared on machine restart. - + '/tmp' directory is cleared on machine restart. - + hbase.rootdir file://${hbase.tmp.dir}/hbase The directory shared by region servers and into @@ -61,17 +60,15 @@ possible configurations would overwhelm and obscure the important. hdfs://namenode.example.org:9000/hbase. By default, we write to whatever ${hbase.tmp.dir} is set too -- usually /tmp -- so change this configuration or else all data will be lost on - machine restart. - + machine restart. - + hbase.cluster.distributed false The mode the cluster will be in. Possible values are false for standalone mode and true for distributed mode. If false, startup will run all HBase and ZooKeeper daemons together - in the one JVM. - + in the one JVM. hbase.zookeeper.quorum @@ -86,8 +83,7 @@ possible configurations would overwhelm and obscure the important. part of cluster start/stop. Client-side, we will take this list of ensemble members and put it together with the hbase.zookeeper.clientPort config. and pass it into zookeeper constructor as the connectString - parameter. - + parameter. @@ -96,12 +92,11 @@ possible configurations would overwhelm and obscure the important. hbase.local.dir ${hbase.tmp.dir}/local/ Directory on the local filesystem to be used - as a local storage. - + as a local storage. - + hbase.master.port 60000 The port the HBase Master should bind to. @@ -110,8 +105,7 @@ possible configurations would overwhelm and obscure the important. hbase.master.info.port 60010 The port for the HBase Master web UI. - Set to -1 if you do not want a UI instance run. - + Set to -1 if you do not want a UI instance run. hbase.master.info.bindAddress @@ -127,15 +121,13 @@ possible configurations would overwhelm and obscure the important. so put the HLog cleaner that prunes the most HLog files in front. To implement your own LogCleanerDelegate, just put it in HBase's classpath and add the fully qualified class name here. Always add the above - default log cleaners in the list. - + default log cleaners in the list. hbase.master.logcleaner.ttl 600000 Maximum time a HLog can stay in the .oldlogdir directory, - after which it will be cleaned by a Master thread. - + after which it will be cleaned by a Master thread. hbase.master.hfilecleaner.plugins @@ -145,50 +137,45 @@ possible configurations would overwhelm and obscure the important. so put the cleaner that prunes the most files in front. To implement your own HFileCleanerDelegate, just put it in HBase's classpath and add the fully qualified class name here. Always add the above - default log cleaners in the list as they will be overwritten in hbase-site.xml. - + default log cleaners in the list as they will be overwritten in + hbase-site.xml. hbase.master.catalog.timeout 600000 - Timeout value for the Catalog Janitor from the master to META. - + Timeout value for the Catalog Janitor from the master to + META. hbase.master.dns.interface default The name of the Network Interface from which a master - should report its IP address. - + should report its IP address. hbase.master.dns.nameserver default The host name or IP address of the name server (DNS) which a master should use to determine the host name used - for communication and display purposes. - + for communication and display purposes. hbase.regionserver.port 60020 - The port the HBase RegionServer binds to. - + The port the HBase RegionServer binds to. hbase.regionserver.info.port 60030 The port for the HBase RegionServer web UI - Set to -1 if you do not want the RegionServer UI to run. - + Set to -1 if you do not want the RegionServer UI to run. hbase.regionserver.info.bindAddress 0.0.0.0 - The address for the HBase RegionServer web UI - + The address for the HBase RegionServer web UI hbase.regionserver.info.port.auto @@ -196,31 +183,25 @@ possible configurations would overwhelm and obscure the important. Whether or not the Master or RegionServer UI should search for a port to bind to. Enables automatic port search if hbase.regionserver.info.port is already in use. - Useful for testing, turned off by default. - + Useful for testing, turned off by default. hbase.regionserver.handler.count 30 Count of RPC Listener instances spun up on RegionServers. - Same property is used by the Master for count of master handlers. - Default is 30. - + Same property is used by the Master for count of master handlers. hbase.regionserver.msginterval 3000 Interval between messages from the RegionServer to Master - in milliseconds. - + in milliseconds. hbase.regionserver.optionallogflushinterval 1000 Sync the HLog to the HDFS after this interval if it has not - accumulated enough entries to trigger a sync. Default 1 second. Units: - milliseconds. - + accumulated enough entries to trigger a sync. Units: milliseconds. hbase.regionserver.regionSplitLimit @@ -228,8 +209,7 @@ possible configurations would overwhelm and obscure the important. Limit for the number of regions after which no more region splitting should take place. This is not a hard limit for the number of regions but acts as a guideline for the regionserver to stop splitting after - a certain limit. Default is set to MAX_INT; i.e. do not block splitting. - + a certain limit. Default is MAX_INT; i.e. do not block splitting. hbase.regionserver.logroll.period @@ -262,8 +242,7 @@ possible configurations would overwhelm and obscure the important. Maximum size of all memstores in a region server before new updates are blocked and flushes are forced. Defaults to 40% of heap. Updates are blocked and flushes are forced until size of all memstores - in a region server hits hbase.regionserver.global.memstore.lowerLimit. - + in a region server hits hbase.regionserver.global.memstore.lowerLimit. hbase.regionserver.global.memstore.lowerLimit @@ -272,16 +251,14 @@ possible configurations would overwhelm and obscure the important. flushes are forced. Defaults to 38% of heap. This value equal to hbase.regionserver.global.memstore.upperLimit causes the minimum possible flushing to occur when updates are blocked due to - memstore limiting. - + memstore limiting. hbase.regionserver.optionalcacheflushinterval 3600000 Maximum amount of time an edit lives in memory before being automatically flushed. - Default 1 hour. Set it to 0 to disable automatic flushing. - + Default 1 hour. Set it to 0 to disable automatic flushing. hbase.regionserver.catalog.timeout @@ -292,16 +269,14 @@ possible configurations would overwhelm and obscure the important. hbase.regionserver.dns.interface default The name of the Network Interface from which a region server - should report its IP address. - + should report its IP address. hbase.regionserver.dns.nameserver default The host name or IP address of the name server (DNS) which a region server should use to determine the host name used by the - master for communication and display purposes. - + master for communication and display purposes. @@ -313,8 +288,7 @@ possible configurations would overwhelm and obscure the important. session (This setting becomes zookeeper's 'maxSessionTimeout'). See http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions "The client sends a requested timeout, the server responds with the - timeout that it can give the client. " In milliseconds. - + timeout that it can give the client. " In milliseconds. zookeeper.znode.parent @@ -322,8 +296,7 @@ possible configurations would overwhelm and obscure the important. 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 path are configured with a - relative path, so they will all go under this directory unless changed. - + relative path, so they will all go under this directory unless changed. zookeeper.znode.rootserver @@ -331,8 +304,7 @@ possible configurations would overwhelm and obscure the important. 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. - + this means the root location is stored at /hbase/root-region-server. zookeeper.znode.acl.parent @@ -343,16 +315,14 @@ possible configurations would overwhelm and obscure the important. hbase.zookeeper.dns.interface default The name of the Network Interface from which a ZooKeeper server - should report its IP address. - + should report its IP address. hbase.zookeeper.dns.nameserver default The host name or IP address of the name server (DNS) which a ZooKeeper server should use to determine the host name used by the - master for communication and display purposes. - + master for communication and display purposes. @@ -383,8 +351,7 @@ possible configurations would overwhelm and obscure the important. with rare Replication failure scenarios (see the release note of HBASE-2611 for an example). IMPORTANT: only set this to true if all ZooKeeper servers in the cluster are on version 3.4+ and will not be downgraded. ZooKeeper versions before 3.4 do not support multi-update and - will not fail gracefully if multi-update is invoked (see ZOOKEEPER-1495). - + will not fail gracefully if multi-update is invoked (see ZOOKEEPER-1495). hbase.config.read.zookeeper.config @@ -393,8 +360,7 @@ possible configurations would overwhelm and obscure the important. Set to true to allow HBaseConfiguration to read the zoo.cfg file for ZooKeeper properties. Switching this to true is not recommended, since the functionality of reading ZK - properties from a zoo.cfg file has been deprecated. - + properties from a zoo.cfg file has been deprecated. @@ -456,22 +417,25 @@ possible configurations would overwhelm and obscure the important. side since server instantiates the passed write buffer to process it -- but a larger buffer size reduces the number of RPCs made. For an estimate of server-side memory-used, evaluate - hbase.client.write.buffer * hbase.regionserver.handler.count - + hbase.client.write.buffer * hbase.regionserver.handler.count hbase.client.pause 100 General client pause value. Used mostly as value to wait - before running a retry of a failed get, region lookup, etc. + before running a retry of a failed get, region lookup, etc. + See hbase.client.retries.number for description of how we backoff from + this initial pause amount and how this pause works w/ retries. hbase.client.retries.number - 14 + 31 Maximum retries. Used as maximum for all retryable - operations such as the getting of a cell's value, starting a row update, etc. - Default: 14. - + operations such as the getting of a cell's value, starting a row update, + etc. Retry interval is a rough function based on hbase.client.pause. At + first we retry at this interval but then with backoff, we pretty quickly reach + retrying every ten seconds. See HConstants#RETRY_BACKOFF for how the backup + ramps up. Change this setting and hbase.client.pause to suit your workload. hbase.client.scanner.caching @@ -481,8 +445,7 @@ possible configurations would overwhelm and obscure the important. 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. Do not set this value such that the time between invocations is greater - than the scanner timeout; i.e. hbase.client.scanner.timeout.period - + than the scanner timeout; i.e. hbase.client.scanner.timeout.period hbase.client.keyvalue.maxsize @@ -492,14 +455,12 @@ possible configurations would overwhelm and obscure the important. storage file. Since they cannot be split it helps avoiding that a region cannot be split any further because the data is too large. It seems wise to set this to a fraction of the maximum region size. Setting it to zero - or less disables the check. - + or less disables the check. hbase.client.scanner.timeout.period 60000 - Client scanner lease period in milliseconds. Default is - 60 seconds. + Client scanner lease period in milliseconds. @@ -508,29 +469,24 @@ possible configurations would overwhelm and obscure the important. 0 Maximum retries. This is maximum number of iterations to atomic bulk loads are attempted in the face of splitting operations - 0 means never give up. Default: 0. - + 0 means never give up. hbase.balancer.period 300000 - Period at which the region balancer runs in the Master. - + Period at which the region balancer runs in the Master. hbase.regions.slop 0.2 - Rebalance if any regionserver has average + (average * slop) regions. - Default is 20% slop. - + Rebalance if any regionserver has average + (average * slop) regions. hbase.server.thread.wakefrequency 10000 Time to sleep in between searches for work (in milliseconds). - Used as sleep interval by service threads such as log roller. - + Used as sleep interval by service threads such as log roller. hbase.server.versionfile.writeattempts @@ -538,8 +494,7 @@ possible configurations would overwhelm and obscure the important. How many time to retry attempting to write a version file before just aborting. Each attempt is seperated by the - hbase.server.thread.wakefrequency milliseconds. - + hbase.server.thread.wakefrequency milliseconds. hbase.hregion.memstore.flush.size @@ -547,8 +502,7 @@ possible configurations would overwhelm and obscure the important. Memstore will be flushed to disk if size of the memstore exceeds this number of bytes. Value is checked by a thread that runs - every hbase.server.thread.wakefrequency. - + every hbase.server.thread.wakefrequency. hbase.hregion.preclose.flush.size @@ -562,8 +516,7 @@ possible configurations would overwhelm and obscure the important. If the memstore content is large, this flush could take a long time to complete. The preflush is meant to clean out the bulk of the memstore before putting up the close flag and taking the region offline so the - flush that runs under the close flag has little to do. - + flush that runs under the close flag has little to do. hbase.hregion.memstore.block.multiplier @@ -574,8 +527,7 @@ possible configurations would overwhelm and obscure the important. runaway memstore during spikes in update traffic. Without an upper-bound, memstore fills such that when it flushes the resultant flush files take a long time to compact or split, or - worse, we OOME. - + worse, we OOME. hbase.hregion.memstore.mslab.enabled @@ -584,17 +536,14 @@ possible configurations would overwhelm and obscure the important. Enables the MemStore-Local Allocation Buffer, a feature which works to prevent heap fragmentation under heavy write loads. This can reduce the frequency of stop-the-world - GC pauses on large heaps. - + GC pauses on large heaps. hbase.hregion.max.filesize 10737418240 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: 10G. - + grown to exceed this value, the hosting HRegion is split in two. hbase.hregion.majorcompaction @@ -604,8 +553,7 @@ possible configurations would overwhelm and obscure the important. happen exactly when you need them least so enable them such that they run at off-peak for your deploy; or, since this setting is on a periodicity that is unlikely to match your loading, run the compactions via an external - invocation out of a cron job or some such. - + invocation out of a cron job or some such. hbase.hregion.majorcompaction.jitter @@ -616,8 +564,7 @@ possible configurations would overwhelm and obscure the important. maximum. We then add this + or - product to when the next major compaction is to run. The idea is that major compaction does happen on every regionserver at exactly the same time. The - smaller this number, the closer the compactions come together. - + smaller this number, the closer the compactions come together. hbase.hstore.compactionThreshold @@ -626,8 +573,7 @@ possible configurations would overwhelm and obscure the important. If more than this number of HStoreFiles in any one HStore (one HStoreFile is written per flush of memstore) 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. - + put off compaction but when it runs, it takes longer to complete. hbase.hstore.blockingStoreFiles @@ -636,8 +582,7 @@ possible configurations would overwhelm and obscure the important. If more than this number of StoreFiles in any one Store (one StoreFile is written per flush of MemStore) then updates are blocked for this HRegion until a compaction is completed, or - until hbase.hstore.blockingWaitTime has been exceeded. - + until hbase.hstore.blockingWaitTime has been exceeded. hbase.hstore.blockingWaitTime @@ -646,29 +591,25 @@ possible configurations would overwhelm and obscure the important. The time an HRegion will block updates for after hitting the StoreFile limit defined by hbase.hstore.blockingStoreFiles. After this time has elapsed, the HRegion will stop blocking updates even - if a compaction has not been completed. Default: 90 seconds. - + if a compaction has not been completed. hbase.hstore.compaction.max 10 - Max number of HStoreFiles to compact per 'minor' compaction. - + Max number of HStoreFiles to compact per 'minor' compaction. hbase.storescanner.parallel.seek.enable false Enables StoreFileScanner parallel-seeking in StoreScanner, - a feature which can reduce response latency under special conditions. - + a feature which can reduce response latency under special conditions. hbase.storescanner.parallel.seek.threads 10 - The default thread pool size if parallel-seeking feature enabled. - + The default thread pool size if parallel-seeking feature enabled. hbase.mapreduce.hfileoutputformat.blocksize @@ -680,93 +621,73 @@ possible configurations would overwhelm and obscure the important. schema so get blocksize from Configuration. The smaller you make the blocksize, the bigger your index and the less you fetch on a random-access. Set the blocksize down if you have small cells and want - faster random-access of individual cells. - + faster random-access of individual cells. hfile.block.cache.size 0.4 - - Percentage of maximum heap (-Xmx setting) to allocate to block cache + Percentage of maximum heap (-Xmx setting) to allocate to block cache used by HFile/StoreFile. Default of 0.4 means allocate 40%. Set to 0 to disable but it's not recommended; you need at least - enough cache to hold the storefile indices. - + enough cache to hold the storefile indices. hfile.block.index.cacheonwrite false - - This allows to put non-root multi-level index blocks into the block - cache at the time the index is being written. - + This allows to put non-root multi-level index blocks into the block + cache at the time the index is being written. hfile.index.block.max.size 131072 - - When the size of a leaf-level, intermediate-level, or root-level + When the size of a leaf-level, intermediate-level, or root-level index block in a multi-level block index grows to this size, the - block is written out and a new block is started. - + block is written out and a new block is started. hfile.format.version 2 - - The HFile format version to use for new files. Set this to 1 to test + The HFile format version to use for new files. Set this to 1 to test backwards-compatibility. The default value of this option should be - consistent with FixedFileTrailer.MAX_VERSION. - + consistent with FixedFileTrailer.MAX_VERSION. hfile.block.bloom.cacheonwrite false - - Enables cache-on-write for inline blocks of a compound Bloom filter. - + Enables cache-on-write for inline blocks of a compound Bloom filter. io.storefile.bloom.block.size 131072 - - The size in bytes of a single block ("chunk") of a compound Bloom + The size in bytes of a single block ("chunk") of a compound Bloom filter. This size is approximate, because Bloom blocks can only be inserted at data block boundaries, and the number of keys per data - block varies. - + block varies. hbase.rs.cacheblocksonwrite false - - Whether an HFile block should be added to the block cache when the - block is finished. - + Whether an HFile block should be added to the block cache when the + block is finished. hbase.rpc.server.engine org.apache.hadoop.hbase.ipc.ProtobufRpcServerEngine Implementation of org.apache.hadoop.hbase.ipc.RpcServerEngine to be - used for server RPC call marshalling. - + used for server RPC call marshalling. hbase.rpc.timeout 60000 - - This is for the RPC layer to define how long HBase client applications + This is for the RPC layer to define how long HBase client applications take for a remote call to time out. It uses pings to check connections - but will eventually throw a TimeoutException. - The default value is 10000ms(10s). - + but will eventually throw a TimeoutException. hbase.ipc.client.tcpnodelay true Set no delay on rpc socket connections. See - http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#getTcpNoDelay() - + http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#getTcpNoDelay() @@ -812,42 +729,36 @@ possible configurations would overwhelm and obscure the important. hbase-policy.xml The policy configuration file used by RPC servers to make authorization decisions on client requests. Only used when HBase - security is enabled. - + security is enabled. hbase.superuser List of users or groups (comma-separated), who are allowed full privileges, regardless of stored ACLs, across the cluster. - Only used when HBase security is enabled. - + Only used when HBase security is enabled. hbase.auth.key.update.interval 86400000 The update interval for master key for authentication tokens - in servers in milliseconds. Only used when HBase security is enabled. - + in servers in milliseconds. Only used when HBase security is enabled. hbase.auth.token.max.lifetime 604800000 The maximum lifetime in milliseconds after which an - authentication token expires. Only used when HBase security is enabled. - + authentication token expires. Only used when HBase security is enabled. hbase.ipc.client.fallback-to-simple-auth-allowed false - - When a client is configured to attempt a secure connection, but attempts to + When a client is configured to attempt a secure connection, but attempts to connect to an insecure server, that server may instruct the client to switch to SASL SIMPLE (unsecure) authentication. This setting controls whether or not the client will accept this instruction from the server. When false (the default), the client will not allow the fallback to SIMPLE - authentication, and will abort the connection. - + authentication, and will abort the connection. hbase.coprocessor.region.classes @@ -856,8 +767,7 @@ possible configurations would overwhelm and obscure the important. default on all tables. For any override coprocessor method, these classes will be called in order. After implementing your own Coprocessor, just put it in HBase's classpath and add the fully qualified class name here. - A coprocessor can also be loaded on demand by setting HTableDescriptor. - + A coprocessor can also be loaded on demand by setting HTableDescriptor. hbase.rest.port @@ -867,56 +777,44 @@ possible configurations would overwhelm and obscure the important. hbase.rest.readonly false - - Defines the mode the REST server will be started in. Possible values are: + Defines the mode the REST server will be started in. Possible values are: false: All HTTP methods are permitted - GET/PUT/POST/DELETE. - true: Only the GET method is permitted. - + true: Only the GET method is permitted. hbase.rest.threads.max 100 - - The maximum number of threads of the REST server thread pool. + The maximum number of threads of the REST server thread pool. Threads in the pool are reused to process REST requests. This controls the maximum number of requests processed concurrently. It may help to control the memory used by the REST server to avoid OOM issues. If the thread pool is full, incoming requests - will be queued up and wait for some free threads. The default - is 100. - + will be queued up and wait for some free threads. hbase.rest.threads.min 2 - - The minimum number of threads of the REST server thread pool. + The minimum number of threads of the REST server thread pool. The thread pool always has at least these number of threads so - the REST server is ready to serve incoming requests. The default - is 2. - + the REST server is ready to serve incoming requests. hbase.defaults.for.version @@@VERSION@@@ - - This defaults file was compiled for version ${project.version}. This variable is used + This defaults file was compiled for version ${project.version}. This variable is used to make sure that a user doesn't have an old version of hbase-default.xml on the - classpath. - + classpath. hbase.defaults.for.version.skip false - - Set to true to skip the 'hbase.defaults.for.version' check. + Set to true to skip the 'hbase.defaults.for.version' check. Setting this to true can be useful in contexts other than the other side of a maven generation; i.e. running in an ide. You'll want to set this boolean to true to avoid seeing the RuntimException complaint: "hbase-default.xml file seems to be for and old version of HBase (\${hbase.version}), this - version is X.X.X-SNAPSHOT" - + version is X.X.X-SNAPSHOT" hbase.coprocessor.master.classes @@ -926,88 +824,71 @@ possible configurations would overwhelm and obscure the important. loaded by default on the active HMaster process. For any implemented coprocessor methods, the listed classes will be called in order. After implementing your own MasterObserver, just put it in HBase's classpath - and add the fully qualified class name here. - + and add the fully qualified class name here. hbase.coprocessor.abortonerror false - - Set to true to cause the hosting server (master or regionserver) to + Set to true to cause the hosting server (master or regionserver) to abort if a coprocessor throws a Throwable object that is not IOException or a subclass of IOException. Setting it to true might be useful in development environments where one wants to terminate the server as soon as possible to - simplify coprocessor failure analysis. - + simplify coprocessor failure analysis. hbase.online.schema.update.enable false - - Set true to enable online schema changes. This is an experimental feature. + Set true to enable online schema changes. This is an experimental feature. There are known issues modifying table schemas at the same time a region split is happening so your table needs to be quiescent or else you have to - be running with splits disabled. - + be running with splits disabled. hbase.table.lock.enable true - - Set to true to enable locking the table in zookeeper for schema change operations. + Set to true to enable locking the table in zookeeper for schema change operations. Table locking from master prevents concurrent schema modifications to corrupt table - state. - + state. hbase.thrift.minWorkerThreads 16 - - The "core size" of the thread pool. New threads are created on every - connection until this many threads are created. - + The "core size" of the thread pool. New threads are created on every + connection until this many threads are created. hbase.thrift.maxWorkerThreads 1000 - - The maximum size of the thread pool. When the pending request queue + The maximum size of the thread pool. When the pending request queue overflows, new threads are created until their number reaches this number. - After that, the server starts dropping connections. - + After that, the server starts dropping connections. hbase.thrift.maxQueuedRequests 1000 - - The maximum number of pending Thrift connections waiting in the queue. If + The maximum number of pending Thrift connections waiting in the queue. If there are no idle threads in the pool, the server queues requests. Only when the queue overflows, new threads are added, up to - hbase.thrift.maxQueuedRequests threads. - + hbase.thrift.maxQueuedRequests threads. hbase.offheapcache.percentage 0 - - The amount of off heap space to be allocated towards the experimental + The amount of off heap space to be allocated towards the experimental off heap cache. If you desire the cache to be disabled, simply set this - value to 0. - + value to 0. hbase.data.umask.enable false Enable, if true, that file permissions should be assigned - to the files written by the regionserver - + to the files written by the regionserver hbase.data.umask 000 File permissions that should be used to write data - files when hbase.data.umask.enable is true - + files when hbase.data.umask.enable is true hbase.metrics.showTableName @@ -1015,51 +896,42 @@ possible configurations would overwhelm and obscure the important. Whether to include the prefix "tbl.tablename" in per-column family metrics. If true, for each metric M, per-cf metrics will be reported for tbl.T.cf.CF.M, if false, per-cf metrics will be aggregated by column-family across tables, and reported for cf.CF.M. - In both cases, the aggregated metric M across tables and cfs will be reported. - + In both cases, the aggregated metric M across tables and cfs will be reported. hbase.metrics.exposeOperationTimes true Whether to report metrics about time taken performing an operation on the region server. Get, Put, Delete, Increment, and Append can all - have their times exposed through Hadoop metrics per CF and per region. - + have their times exposed through Hadoop metrics per CF and per region. hbase.snapshot.enabled true - - Set to true to allow snapshots to be taken / restored / cloned. - + Set to true to allow snapshots to be taken / restored / cloned. hbase.server.compactchecker.interval.multiplier 1000 - - The number that determines how often we scan to see if compaction is necessary. + The number that determines how often we scan to see if compaction is necessary. Normally, compactions are done after some events (such as memstore flush), but if region didn't receive a lot of writes for some time, or due to different compaction policies, it may be necessary to check it periodically. The interval between checks is - hbase.server.compactchecker.interval.multiplier multiplied by hbase.server.thread.wakefrequency. - + hbase.server.compactchecker.interval.multiplier multiplied by + hbase.server.thread.wakefrequency. hbase.lease.recovery.timeout 900000 - - How long we wait on dfs lease recovery in total before giving up. - + How long we wait on dfs lease recovery in total before giving up. hbase.lease.recovery.dfs.timeout 64000 - - How long between dfs recover lease invocations. Should be larger than the sum of + How long between dfs recover lease invocations. Should be larger than the sum of the time it takes for the namenode to issue a block recovery command as part of datanode; dfs.heartbeat.interval and the time it takes for the primary datanode, performing block recovery to timeout on a dead datanode; usually - dfs.socket.timeout. See the end of HBASE-8389 for more. - + dfs.socket.timeout. See the end of HBASE-8389 for more.