7 * Licensed to the Apache Software Foundation (ASF) under one
8 * or more contributor license agreements. See the NOTICE file
9 * distributed with this work for additional information
10 * regarding copyright ownership. The ASF licenses this file
11 * to you under the Apache License, Version 2.0 (the
12 * "License"); you may not use this file except in compliance
13 * with the License. You may obtain a copy of the License at
15 * http://www.apache.org/licenses/LICENSE-2.0
17 * Unless required by applicable law or agreed to in writing, software
18 * distributed under the License is distributed on an "AS IS" BASIS,
19 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 * See the License for the specific language governing permissions and
21 * limitations under the License.
31 [[hbase_default_configurations]]
32 === HBase Default Configuration
34 The documentation below is generated using the default hbase configuration file, _hbase-default.xml_, as source.
41 Temporary directory on the local filesystem.
42 Change this setting to point to a location more permanent
43 than '/tmp', the usual resolve for java.io.tmpdir, as the
44 '/tmp' directory is cleared on machine restart.
47 `${java.io.tmpdir}/hbase-${user.name}`
54 The directory shared by region servers and into
55 which HBase persists. The URL should be 'fully-qualified'
56 to include the filesystem scheme. For example, to specify the
57 HDFS directory '/hbase' where the HDFS instance's namenode is
58 running at namenode.example.org on port 9000, set this value to:
59 hdfs://namenode.example.org:9000/hbase. By default, we write
60 to whatever ${hbase.tmp.dir} is set to -- usually /tmp --
61 so change this configuration or else all data will be lost on
65 `${hbase.tmp.dir}/hbase`
68 [[hbase.cluster.distributed]]
69 *`hbase.cluster.distributed`*::
72 The mode the cluster will be in. Possible values are
73 false for standalone mode and true for distributed mode. If
74 false, startup will run all HBase and ZooKeeper daemons together
81 [[hbase.zookeeper.quorum]]
82 *`hbase.zookeeper.quorum`*::
85 Comma separated list of servers in the ZooKeeper ensemble
86 (This config. should have been named hbase.zookeeper.ensemble).
87 For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
88 By default this is set to localhost for local and pseudo-distributed modes
89 of operation. For a fully-distributed setup, this should be set to a full
90 list of ZooKeeper ensemble servers. If HBASE_MANAGES_ZK is set in hbase-env.sh,
91 this is the list of servers which hbase will start/stop ZooKeeper on as
92 part of cluster start/stop. Client-side, we will take this list of
93 ensemble members and put it together with the hbase.zookeeper.clientPort
94 config and pass it into zookeeper constructor as the connectString
102 *`hbase.local.dir`*::
105 Directory on the local filesystem to be used
109 `${hbase.tmp.dir}/local/`
112 [[hbase.master.info.port]]
113 *`hbase.master.info.port`*::
116 The port for the HBase Master web UI.
117 Set to -1 if you do not want a UI instance run.
123 [[hbase.master.info.bindAddress]]
124 *`hbase.master.info.bindAddress`*::
127 The bind address for the HBase Master web UI
134 [[hbase.master.logcleaner.plugins]]
135 *`hbase.master.logcleaner.plugins`*::
138 A comma-separated list of BaseLogCleanerDelegate invoked by
139 the LogsCleaner service. These WAL cleaners are called in order,
140 so put the cleaner that prunes the most files in front. To
141 implement your own BaseLogCleanerDelegate, just put it in HBase's classpath
142 and add the fully qualified class name here. Always add the above
143 default log cleaners in the list.
146 `org.apache.hadoop.hbase.master.cleaner.TimeToLiveLogCleaner`
149 [[hbase.master.logcleaner.ttl]]
150 *`hbase.master.logcleaner.ttl`*::
153 Maximum time a WAL can stay in the oldWALs directory,
154 after which it will be cleaned by a Master thread.
160 [[hbase.master.hfilecleaner.plugins]]
161 *`hbase.master.hfilecleaner.plugins`*::
164 A comma-separated list of BaseHFileCleanerDelegate invoked by
165 the HFileCleaner service. These HFiles cleaners are called in order,
166 so put the cleaner that prunes the most files in front. To
167 implement your own BaseHFileCleanerDelegate, just put it in HBase's classpath
168 and add the fully qualified class name here. Always add the above
169 default log cleaners in the list as they will be overwritten in
173 `org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner`
176 [[hbase.master.infoserver.redirect]]
177 *`hbase.master.infoserver.redirect`*::
180 Whether or not the Master listens to the Master web
181 UI port (hbase.master.info.port) and redirects requests to the web
182 UI server shared by the Master and RegionServer.
188 [[hbase.regionserver.port]]
189 *`hbase.regionserver.port`*::
192 The port the HBase RegionServer binds to.
198 [[hbase.regionserver.info.port]]
199 *`hbase.regionserver.info.port`*::
202 The port for the HBase RegionServer web UI
203 Set to -1 if you do not want the RegionServer UI to run.
209 [[hbase.regionserver.info.bindAddress]]
210 *`hbase.regionserver.info.bindAddress`*::
213 The address for the HBase RegionServer web UI
219 [[hbase.regionserver.info.port.auto]]
220 *`hbase.regionserver.info.port.auto`*::
223 Whether or not the Master or RegionServer
224 UI should search for a port to bind to. Enables automatic port
225 search if hbase.regionserver.info.port is already in use.
226 Useful for testing, turned off by default.
232 [[hbase.regionserver.handler.count]]
233 *`hbase.regionserver.handler.count`*::
236 Count of RPC Listener instances spun up on RegionServers.
237 Same property is used by the Master for count of master handlers.
243 [[hbase.ipc.server.callqueue.handler.factor]]
244 *`hbase.ipc.server.callqueue.handler.factor`*::
247 Factor to determine the number of call queues.
248 A value of 0 means a single queue shared between all the handlers.
249 A value of 1 means that each handler has its own queue.
255 [[hbase.ipc.server.callqueue.read.ratio]]
256 *`hbase.ipc.server.callqueue.read.ratio`*::
259 Split the call queues into read and write queues.
260 The specified interval (which should be between 0.0 and 1.0)
261 will be multiplied by the number of call queues.
262 A value of 0 indicates to not split the call queues, meaning that both read and write
263 requests will be pushed to the same set of queues.
264 A value lower than 0.5 means that there will be less read queues than write queues.
265 A value of 0.5 means there will be the same number of read and write queues.
266 A value greater than 0.5 means that there will be more read queues than write queues.
267 A value of 1.0 means that all the queues except one are used to dispatch read requests.
269 Example: Given the total number of call queues being 10
270 a read.ratio of 0 means that: the 10 queues will contain both read/write requests.
271 a read.ratio of 0.3 means that: 3 queues will contain only read requests
272 and 7 queues will contain only write requests.
273 a read.ratio of 0.5 means that: 5 queues will contain only read requests
274 and 5 queues will contain only write requests.
275 a read.ratio of 0.8 means that: 8 queues will contain only read requests
276 and 2 queues will contain only write requests.
277 a read.ratio of 1 means that: 9 queues will contain only read requests
278 and 1 queues will contain only write requests.
285 [[hbase.ipc.server.callqueue.scan.ratio]]
286 *`hbase.ipc.server.callqueue.scan.ratio`*::
289 Given the number of read call queues, calculated from the total number
290 of call queues multiplied by the callqueue.read.ratio, the scan.ratio property
291 will split the read call queues into small-read and long-read queues.
292 A value lower than 0.5 means that there will be less long-read queues than short-read queues.
293 A value of 0.5 means that there will be the same number of short-read and long-read queues.
294 A value greater than 0.5 means that there will be more long-read queues than short-read queues
295 A value of 0 or 1 indicates to use the same set of queues for gets and scans.
297 Example: Given the total number of read call queues being 8
298 a scan.ratio of 0 or 1 means that: 8 queues will contain both long and short read requests.
299 a scan.ratio of 0.3 means that: 2 queues will contain only long-read requests
300 and 6 queues will contain only short-read requests.
301 a scan.ratio of 0.5 means that: 4 queues will contain only long-read requests
302 and 4 queues will contain only short-read requests.
303 a scan.ratio of 0.8 means that: 6 queues will contain only long-read requests
304 and 2 queues will contain only short-read requests.
311 [[hbase.regionserver.msginterval]]
312 *`hbase.regionserver.msginterval`*::
315 Interval between messages from the RegionServer to Master
322 [[hbase.regionserver.regionSplitLimit]]
323 *`hbase.regionserver.regionSplitLimit`*::
326 Limit for the number of regions after which no more region
327 splitting should take place. This is not a hard limit for the number of
328 regions but acts as a guideline for the regionserver to stop splitting after
329 a certain limit. Default is MAX_INT; i.e. do not block splitting.
335 [[hbase.regionserver.logroll.period]]
336 *`hbase.regionserver.logroll.period`*::
339 Period at which we will roll the commit log regardless
340 of how many edits it has.
346 [[hbase.regionserver.logroll.errors.tolerated]]
347 *`hbase.regionserver.logroll.errors.tolerated`*::
350 The number of consecutive WAL close errors we will allow
351 before triggering a server abort. A setting of 0 will cause the
352 region server to abort if closing the current WAL writer fails during
353 log rolling. Even a small value (2 or 3) will allow a region server
354 to ride over transient HDFS errors.
360 [[hbase.regionserver.hlog.reader.impl]]
361 *`hbase.regionserver.hlog.reader.impl`*::
364 The WAL file reader implementation.
367 `org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader`
370 [[hbase.regionserver.hlog.writer.impl]]
371 *`hbase.regionserver.hlog.writer.impl`*::
374 The WAL file writer implementation.
377 `org.apache.hadoop.hbase.regionserver.wal.ProtobufLogWriter`
379 [[hbase.regionserver.global.memstore.size]]
380 *`hbase.regionserver.global.memstore.size`*::
383 Maximum size of all memstores in a region server before new
384 updates are blocked and flushes are forced. Defaults to 40% of heap.
385 Updates are blocked and flushes are forced until size of all memstores
386 in a region server hits hbase.regionserver.global.memstore.size.lower.limit.
392 [[hbase.regionserver.global.memstore.size.lower.limit]]
393 *`hbase.regionserver.global.memstore.size.lower.limit`*::
396 Maximum size of all memstores in a region server before flushes are forced.
397 Defaults to 95% of hbase.regionserver.global.memstore.size.
398 A 100% value for this property causes the minimum possible flushing to occur when updates are
399 blocked due to memstore limiting.
405 [[hbase.regionserver.optionalcacheflushinterval]]
406 *`hbase.regionserver.optionalcacheflushinterval`*::
410 Maximum amount of time an edit lives in memory before being automatically flushed.
411 Default 1 hour. Set it to 0 to disable automatic flushing.
417 [[hbase.regionserver.dns.interface]]
418 *`hbase.regionserver.dns.interface`*::
421 The name of the Network Interface from which a region server
422 should report its IP address.
428 [[hbase.regionserver.dns.nameserver]]
429 *`hbase.regionserver.dns.nameserver`*::
432 The host name or IP address of the name server (DNS)
433 which a region server should use to determine the host name used by the
434 master for communication and display purposes.
440 [[hbase.regionserver.region.split.policy]]
441 *`hbase.regionserver.region.split.policy`*::
445 A split policy determines when a region should be split. The various other split policies that
446 are available currently are ConstantSizeRegionSplitPolicy, DisabledRegionSplitPolicy,
447 DelimitedKeyPrefixRegionSplitPolicy, KeyPrefixRegionSplitPolicy,
448 BusyRegionSplitPolicy, SteppingSplitPolicy etc.
452 `org.apache.hadoop.hbase.regionserver.SteppingSplitPolicy`
455 [[zookeeper.session.timeout]]
456 *`zookeeper.session.timeout`*::
459 ZooKeeper session timeout in milliseconds. It is used in two different ways.
460 First, this value is used in the ZK client that HBase uses to connect to the ensemble.
461 It is also used by HBase when it starts a ZK server and it is passed as the 'maxSessionTimeout'. See
462 https://zookeeper.apache.org/doc/current/zookeeperProgrammers.html#ch_zkSessions.
463 For example, if an HBase region server connects to a ZK ensemble that's also managed
465 session timeout will be the one specified by this configuration. But, a region server that connects
466 to an ensemble managed with a different configuration will be subjected that ensemble's maxSessionTimeout. So,
467 even though HBase might propose using 90 seconds, the ensemble can have a max timeout lower than this and
468 it will take precedence. The current default maxSessionTimeout that ZK ships with is 40 seconds, which is lower than HBase's.
475 [[zookeeper.znode.parent]]
476 *`zookeeper.znode.parent`*::
479 Root ZNode for HBase in ZooKeeper. All of HBase's ZooKeeper
480 files that are configured with a relative path will go under this node.
481 By default, all of HBase's ZooKeeper file path are configured with a
482 relative path, so they will all go under this directory unless changed.
488 [[zookeeper.znode.acl.parent]]
489 *`zookeeper.znode.acl.parent`*::
492 Root ZNode for access control lists.
498 [[hbase.zookeeper.dns.interface]]
499 *`hbase.zookeeper.dns.interface`*::
502 The name of the Network Interface from which a ZooKeeper server
503 should report its IP address.
509 [[hbase.zookeeper.dns.nameserver]]
510 *`hbase.zookeeper.dns.nameserver`*::
513 The host name or IP address of the name server (DNS)
514 which a ZooKeeper server should use to determine the host name used by the
515 master for communication and display purposes.
521 [[hbase.zookeeper.peerport]]
522 *`hbase.zookeeper.peerport`*::
525 Port used by ZooKeeper peers to talk to each other.
526 See https://zookeeper.apache.org/doc/r3.4.10/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
527 for more information.
533 [[hbase.zookeeper.leaderport]]
534 *`hbase.zookeeper.leaderport`*::
537 Port used by ZooKeeper for leader election.
538 See https://zookeeper.apache.org/doc/r3.4.10/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
539 for more information.
545 [[hbase.zookeeper.useMulti]]
546 *`hbase.zookeeper.useMulti`*::
549 Instructs HBase to make use of ZooKeeper's multi-update functionality.
550 This allows certain ZooKeeper operations to complete more quickly and prevents some issues
551 with rare Replication failure scenarios (see the release note of HBASE-2611 for an example).
552 IMPORTANT: only set this to true if all ZooKeeper servers in the cluster are on version 3.4+
553 and will not be downgraded. ZooKeeper versions before 3.4 do not support multi-update and
554 will not fail gracefully if multi-update is invoked (see ZOOKEEPER-1495).
560 [[hbase.zookeeper.property.initLimit]]
561 *`hbase.zookeeper.property.initLimit`*::
564 Property from ZooKeeper's config zoo.cfg.
565 The number of ticks that the initial synchronization phase can take.
571 [[hbase.zookeeper.property.syncLimit]]
572 *`hbase.zookeeper.property.syncLimit`*::
575 Property from ZooKeeper's config zoo.cfg.
576 The number of ticks that can pass between sending a request and getting an
583 [[hbase.zookeeper.property.dataDir]]
584 *`hbase.zookeeper.property.dataDir`*::
587 Property from ZooKeeper's config zoo.cfg.
588 The directory where the snapshot is stored.
591 `${hbase.tmp.dir}/zookeeper`
594 [[hbase.zookeeper.property.clientPort]]
595 *`hbase.zookeeper.property.clientPort`*::
598 Property from ZooKeeper's config zoo.cfg.
599 The port at which the clients will connect.
605 [[hbase.zookeeper.property.maxClientCnxns]]
606 *`hbase.zookeeper.property.maxClientCnxns`*::
609 Property from ZooKeeper's config zoo.cfg.
610 Limit on number of concurrent connections (at the socket level) that a
611 single client, identified by IP address, may make to a single member of
612 the ZooKeeper ensemble. Set high to avoid zk connection issues running
613 standalone and pseudo-distributed.
619 [[hbase.client.write.buffer]]
620 *`hbase.client.write.buffer`*::
623 Default size of the BufferedMutator write buffer in bytes.
624 A bigger buffer takes more memory -- on both the client and server
625 side since server instantiates the passed write buffer to process
626 it -- but a larger buffer size reduces the number of RPCs made.
627 For an estimate of server-side memory-used, evaluate
628 hbase.client.write.buffer * hbase.regionserver.handler.count
634 [[hbase.client.pause]]
635 *`hbase.client.pause`*::
638 General client pause value. Used mostly as value to wait
639 before running a retry of a failed get, region lookup, etc.
640 See hbase.client.retries.number for description of how we backoff from
641 this initial pause amount and how this pause works w/ retries.
647 [[hbase.client.retries.number]]
648 *`hbase.client.retries.number`*::
651 Maximum retries. Used as maximum for all retryable
652 operations such as the getting of a cell's value, starting a row update,
653 etc. Retry interval is a rough function based on hbase.client.pause. At
654 first we retry at this interval but then with backoff, we pretty quickly reach
655 retrying every ten seconds. See HConstants#RETRY_BACKOFF for how the backup
656 ramps up. Change this setting and hbase.client.pause to suit your workload.
662 [[hbase.client.max.total.tasks]]
663 *`hbase.client.max.total.tasks`*::
666 The maximum number of concurrent tasks a single HTable instance will
673 [[hbase.client.max.perserver.tasks]]
674 *`hbase.client.max.perserver.tasks`*::
677 The maximum number of concurrent tasks a single HTable instance will
678 send to a single region server.
684 [[hbase.client.max.perregion.tasks]]
685 *`hbase.client.max.perregion.tasks`*::
688 The maximum number of concurrent connections the client will
689 maintain to a single Region. That is, if there is already
690 hbase.client.max.perregion.tasks writes in progress for this region, new puts
691 won't be sent to this region until some writes finish.
697 [[hbase.client.scanner.caching]]
698 *`hbase.client.scanner.caching`*::
701 Number of rows that will be fetched when calling next
702 on a scanner if it is not served from (local, client) memory. Higher
703 caching values will enable faster scanners but will eat up more memory
704 and some calls of next may take longer and longer times when the cache is empty.
705 Do not set this value such that the time between invocations is greater
706 than the scanner timeout; i.e. hbase.client.scanner.timeout.period
712 [[hbase.client.keyvalue.maxsize]]
713 *`hbase.client.keyvalue.maxsize`*::
716 Specifies the combined maximum allowed size of a KeyValue
717 instance. This is to set an upper boundary for a single entry saved in a
718 storage file. Since they cannot be split it helps avoiding that a region
719 cannot be split any further because the data is too large. It seems wise
720 to set this to a fraction of the maximum region size. Setting it to zero
721 or less disables the check.
727 [[hbase.client.scanner.timeout.period]]
728 *`hbase.client.scanner.timeout.period`*::
731 Client scanner lease period in milliseconds.
737 [[hbase.client.localityCheck.threadPoolSize]]
738 *`hbase.client.localityCheck.threadPoolSize`*::
747 [[hbase.bulkload.retries.number]]
748 *`hbase.bulkload.retries.number`*::
751 Maximum retries. This is a maximum number of iterations
752 atomic bulk loads are attempted in the face of splitting operations,
753 0 means never give up.
759 [[hbase.compaction.after.bulkload.enable]]
760 *`hbase.compaction.after.bulkload.enable`*::
763 Request Compaction after bulkload immediately.
764 If bulkload is continuous, the triggered compactions may increase load,
765 bring about performance side effect.
766 (For HBase-2.x, the default value for "hbase.compaction.after.bulkload.enable" is true)
771 [[hbase.balancer.period
773 *`hbase.balancer.period
777 Period at which the region balancer runs in the Master.
783 [[hbase.regions.slop]]
784 *`hbase.regions.slop`*::
787 Rebalance if any regionserver has average + (average * slop) regions.
793 [[hbase.server.thread.wakefrequency]]
794 *`hbase.server.thread.wakefrequency`*::
797 Time to sleep in between searches for work (in milliseconds).
798 Used as sleep interval by service threads such as log roller.
804 [[hbase.server.versionfile.writeattempts]]
805 *`hbase.server.versionfile.writeattempts`*::
809 How many time to retry attempting to write a version file
810 before just aborting. Each attempt is separated by the
811 hbase.server.thread.wakefrequency milliseconds.
817 [[hbase.hregion.memstore.flush.size]]
818 *`hbase.hregion.memstore.flush.size`*::
822 Memstore will be flushed to disk if size of the memstore
823 exceeds this number of bytes. Value is checked by a thread that runs
824 every hbase.server.thread.wakefrequency.
830 [[hbase.hregion.percolumnfamilyflush.size.lower.bound]]
831 *`hbase.hregion.percolumnfamilyflush.size.lower.bound`*::
835 If FlushLargeStoresPolicy is used, then every time that we hit the
836 total memstore limit, we find out all the column families whose memstores
837 exceed this value, and only flush them, while retaining the others whose
838 memstores are lower than this limit. If none of the families have their
839 memstore size more than this, all the memstores will be flushed
840 (just as usual). This value should be less than half of the total memstore
841 threshold (hbase.hregion.memstore.flush.size).
848 [[hbase.hregion.preclose.flush.size]]
849 *`hbase.hregion.preclose.flush.size`*::
853 If the memstores in a region are this size or larger when we go
854 to close, run a "pre-flush" to clear out memstores before we put up
855 the region closed flag and take the region offline. On close,
856 a flush is run under the close flag to empty memory. During
857 this time the region is offline and we are not taking on any writes.
858 If the memstore content is large, this flush could take a long time to
859 complete. The preflush is meant to clean out the bulk of the memstore
860 before putting up the close flag and taking the region offline so the
861 flush that runs under the close flag has little to do.
867 [[hbase.hregion.memstore.block.multiplier]]
868 *`hbase.hregion.memstore.block.multiplier`*::
872 Block updates if memstore has hbase.hregion.memstore.block.multiplier
873 times hbase.hregion.memstore.flush.size bytes. Useful preventing
874 runaway memstore during spikes in update traffic. Without an
875 upper-bound, memstore fills such that when it flushes the
876 resultant flush files take a long time to compact or split, or
883 [[hbase.hregion.memstore.mslab.enabled]]
884 *`hbase.hregion.memstore.mslab.enabled`*::
888 Enables the MemStore-Local Allocation Buffer,
889 a feature which works to prevent heap fragmentation under
890 heavy write loads. This can reduce the frequency of stop-the-world
891 GC pauses on large heaps.
897 [[hbase.hregion.max.filesize]]
898 *`hbase.hregion.max.filesize`*::
902 Maximum file size. If the sum of the sizes of a region's HFiles has
903 grown to exceed this value, the region is split in two. There are two choices of
904 how this option works, the first is when any store's size exceed the threshold
905 then split, and the other is overall region's size exceed the threshold then split,
906 it can be configed by hbase.hregion.split.overallfiles.
912 [[hbase.hregion.split.overallfiles]]
913 *`hbase.hregion.split.overallfiles`*::
917 If we should sum overall region files size when check to split.
923 [[hbase.hregion.majorcompaction]]
924 *`hbase.hregion.majorcompaction`*::
927 Time between major compactions, expressed in milliseconds. Set to 0 to disable
928 time-based automatic major compactions. User-requested and size-based major compactions will
929 still run. This value is multiplied by hbase.hregion.majorcompaction.jitter to cause
930 compaction to start at a somewhat-random time during a given window of time. The default value
931 is 7 days, expressed in milliseconds. If major compactions are causing disruption in your
932 environment, you can configure them to run at off-peak times for your deployment, or disable
933 time-based major compactions by setting this parameter to 0, and run major compactions in a
934 cron job or by another external mechanism.
940 [[hbase.hregion.majorcompaction.jitter]]
941 *`hbase.hregion.majorcompaction.jitter`*::
944 A multiplier applied to hbase.hregion.majorcompaction to cause compaction to occur
945 a given amount of time either side of hbase.hregion.majorcompaction. The smaller the number,
946 the closer the compactions will happen to the hbase.hregion.majorcompaction
953 [[hbase.hstore.compactionThreshold]]
954 *`hbase.hstore.compactionThreshold`*::
957 If more than this number of StoreFiles exist in any one Store
958 (one StoreFile is written per flush of MemStore), a compaction is run to rewrite all
959 StoreFiles into a single StoreFile. Larger values delay compaction, but when compaction does
960 occur, it takes longer to complete.
966 [[hbase.hstore.flusher.count]]
967 *`hbase.hstore.flusher.count`*::
970 The number of flush threads. With fewer threads, the MemStore flushes will be
971 queued. With more threads, the flushes will be executed in parallel, increasing the load on
972 HDFS, and potentially causing more compactions.
978 [[hbase.hstore.blockingStoreFiles]]
979 *`hbase.hstore.blockingStoreFiles`*::
982 If more than this number of StoreFiles exist in any one Store (one StoreFile
983 is written per flush of MemStore), updates are blocked for this region until a compaction is
984 completed, or until hbase.hstore.blockingWaitTime has been exceeded.
990 [[hbase.hstore.blockingWaitTime]]
991 *`hbase.hstore.blockingWaitTime`*::
994 The time for which a region will block updates after reaching the StoreFile limit
995 defined by hbase.hstore.blockingStoreFiles. After this time has elapsed, the region will stop
996 blocking updates even if a compaction has not been completed.
1002 [[hbase.hstore.compaction.min]]
1003 *`hbase.hstore.compaction.min`*::
1006 The minimum number of StoreFiles which must be eligible for compaction before
1007 compaction can run. The goal of tuning hbase.hstore.compaction.min is to avoid ending up with
1008 too many tiny StoreFiles to compact. Setting this value to 2 would cause a minor compaction
1009 each time you have two StoreFiles in a Store, and this is probably not appropriate. If you
1010 set this value too high, all the other values will need to be adjusted accordingly. For most
1011 cases, the default value is appropriate. In previous versions of HBase, the parameter
1012 hbase.hstore.compaction.min was named hbase.hstore.compactionThreshold.
1018 [[hbase.hstore.compaction.max]]
1019 *`hbase.hstore.compaction.max`*::
1022 The maximum number of StoreFiles which will be selected for a single minor
1023 compaction, regardless of the number of eligible StoreFiles. Effectively, the value of
1024 hbase.hstore.compaction.max controls the length of time it takes a single compaction to
1025 complete. Setting it larger means that more StoreFiles are included in a compaction. For most
1026 cases, the default value is appropriate.
1032 [[hbase.hstore.compaction.min.size]]
1033 *`hbase.hstore.compaction.min.size`*::
1036 A StoreFile smaller than this size will always be eligible for minor compaction.
1037 HFiles this size or larger are evaluated by hbase.hstore.compaction.ratio to determine if
1038 they are eligible. Because this limit represents the "automatic include"limit for all
1039 StoreFiles smaller than this value, this value may need to be reduced in write-heavy
1040 environments where many StoreFiles in the 1-2 MB range are being flushed, because every
1041 StoreFile will be targeted for compaction and the resulting StoreFiles may still be under the
1042 minimum size and require further compaction. If this parameter is lowered, the ratio check is
1043 triggered more quickly. This addressed some issues seen in earlier versions of HBase but
1044 changing this parameter is no longer necessary in most situations. Default: 128 MB expressed
1051 [[hbase.hstore.compaction.max.size]]
1052 *`hbase.hstore.compaction.max.size`*::
1055 A StoreFile larger than this size will be excluded from compaction. The effect of
1056 raising hbase.hstore.compaction.max.size is fewer, larger StoreFiles that do not get
1057 compacted often. If you feel that compaction is happening too often without much benefit, you
1058 can try raising this value. Default: the value of LONG.MAX_VALUE, expressed in bytes.
1061 `9223372036854775807`
1064 [[hbase.hstore.compaction.ratio]]
1065 *`hbase.hstore.compaction.ratio`*::
1068 For minor compaction, this ratio is used to determine whether a given StoreFile
1069 which is larger than hbase.hstore.compaction.min.size is eligible for compaction. Its
1070 effect is to limit compaction of large StoreFiles. The value of hbase.hstore.compaction.ratio
1071 is expressed as a floating-point decimal. A large ratio, such as 10, will produce a single
1072 giant StoreFile. Conversely, a low value, such as .25, will produce behavior similar to the
1073 BigTable compaction algorithm, producing four StoreFiles. A moderate value of between 1.0 and
1074 1.4 is recommended. When tuning this value, you are balancing write costs with read costs.
1075 Raising the value (to something like 1.4) will have more write costs, because you will
1076 compact larger StoreFiles. However, during reads, HBase will need to seek through fewer
1077 StoreFiles to accomplish the read. Consider this approach if you cannot take advantage of
1078 Bloom filters. Otherwise, you can lower this value to something like 1.0 to reduce the
1079 background cost of writes, and use Bloom filters to control the number of StoreFiles touched
1080 during reads. For most cases, the default value is appropriate.
1086 [[hbase.hstore.compaction.ratio.offpeak]]
1087 *`hbase.hstore.compaction.ratio.offpeak`*::
1090 Allows you to set a different (by default, more aggressive) ratio for determining
1091 whether larger StoreFiles are included in compactions during off-peak hours. Works in the
1092 same way as hbase.hstore.compaction.ratio. Only applies if hbase.offpeak.start.hour and
1093 hbase.offpeak.end.hour are also enabled.
1099 [[hbase.hstore.time.to.purge.deletes]]
1100 *`hbase.hstore.time.to.purge.deletes`*::
1103 The amount of time to delay purging of delete markers with future timestamps. If
1104 unset, or set to 0, all delete markers, including those with future timestamps, are purged
1105 during the next major compaction. Otherwise, a delete marker is kept until the major compaction
1106 which occurs after the marker's timestamp plus the value of this setting, in milliseconds.
1113 [[hbase.offpeak.start.hour]]
1114 *`hbase.offpeak.start.hour`*::
1117 The start of off-peak hours, expressed as an integer between 0 and 23, inclusive.
1118 Set to -1 to disable off-peak.
1124 [[hbase.offpeak.end.hour]]
1125 *`hbase.offpeak.end.hour`*::
1128 The end of off-peak hours, expressed as an integer between 0 and 23, inclusive. Set
1129 to -1 to disable off-peak.
1135 [[hbase.regionserver.thread.compaction.throttle]]
1136 *`hbase.regionserver.thread.compaction.throttle`*::
1139 There are two different thread pools for compactions, one for large compactions and
1140 the other for small compactions. This helps to keep compaction of lean tables (such as
1141 hbase:meta) fast. If a compaction is larger than this threshold, it
1142 goes into the large compaction pool. In most cases, the default value is appropriate. Default:
1143 2 x hbase.hstore.compaction.max x hbase.hregion.memstore.flush.size (which defaults to 128MB).
1144 The value field assumes that the value of hbase.hregion.memstore.flush.size is unchanged from
1151 [[hbase.hstore.compaction.kv.max]]
1152 *`hbase.hstore.compaction.kv.max`*::
1155 The maximum number of KeyValues to read and then write in a batch when flushing or
1156 compacting. Set this lower if you have big KeyValues and problems with Out Of Memory
1157 Exceptions Set this higher if you have wide, small rows.
1163 [[hbase.storescanner.parallel.seek.enable]]
1164 *`hbase.storescanner.parallel.seek.enable`*::
1168 Enables StoreFileScanner parallel-seeking in StoreScanner,
1169 a feature which can reduce response latency under special conditions.
1175 [[hbase.storescanner.parallel.seek.threads]]
1176 *`hbase.storescanner.parallel.seek.threads`*::
1180 The default thread pool size if parallel-seeking feature enabled.
1186 [[hfile.block.cache.size]]
1187 *`hfile.block.cache.size`*::
1190 Percentage of maximum heap (-Xmx setting) to allocate to block cache
1191 used by a StoreFile. Default of 0.4 means allocate 40%.
1192 Set to 0 to disable but it's not recommended; you need at least
1193 enough cache to hold the storefile indices.
1199 [[hfile.block.index.cacheonwrite]]
1200 *`hfile.block.index.cacheonwrite`*::
1203 This allows to put non-root multi-level index blocks into the block
1204 cache at the time the index is being written.
1210 [[hfile.index.block.max.size]]
1211 *`hfile.index.block.max.size`*::
1214 When the size of a leaf-level, intermediate-level, or root-level
1215 index block in a multi-level block index grows to this size, the
1216 block is written out and a new block is started.
1222 [[hbase.bucketcache.ioengine]]
1223 *`hbase.bucketcache.ioengine`*::
1226 Where to store the contents of the bucketcache. One of: offheap,
1227 file, files, mmap or pmem. If a file or files, set it to file(s):PATH_TO_FILE.
1228 mmap means the content will be in an mmaped file. Use mmap:PATH_TO_FILE.
1229 'pmem' is bucket cache over a file on the persistent memory device.
1230 Use pmem:PATH_TO_FILE.
1231 See https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html
1232 for more information.
1239 [[hbase.bucketcache.combinedcache.enabled]]
1240 *`hbase.bucketcache.combinedcache.enabled`*::
1243 Whether or not the bucketcache is used in league with the LRU
1244 on-heap block cache. In this mode, indices and blooms are kept in the LRU
1245 blockcache and the data blocks are kept in the bucketcache.
1251 [[hbase.bucketcache.size]]
1252 *`hbase.bucketcache.size`*::
1255 Used along with bucket cache, this is a float that EITHER represents a percentage of total heap
1256 memory size to give to the cache (if < 1.0) OR, it is the capacity in megabytes of the cache.
1257 (After HBase-2.0, "hbase.bucketcache.size" cannot be between 0-1)
1260 `0` when specified as a float
1263 [[hbase.bucketcache.bucket.sizes]]
1264 *`hbase.bucketcache.bucket.sizes`*::
1267 A comma-separated list of sizes for buckets for the bucketcache
1268 if you use multiple sizes. Should be a list of block sizes in order from smallest
1269 to largest. The sizes you use will depend on your data access patterns.
1275 [[hfile.format.version]]
1276 *`hfile.format.version`*::
1279 The HFile format version to use for new files.
1280 Version 3 adds support for tags in hfiles (See https://hbase.apache.org/book.html#hbase.tags).
1281 Also see the configuration 'hbase.replication.rpc.codec'.
1288 [[hfile.block.bloom.cacheonwrite]]
1289 *`hfile.block.bloom.cacheonwrite`*::
1292 Enables cache-on-write for inline blocks of a compound Bloom filter.
1298 [[io.storefile.bloom.block.size]]
1299 *`io.storefile.bloom.block.size`*::
1302 The size in bytes of a single block ("chunk") of a compound Bloom
1303 filter. This size is approximate, because Bloom blocks can only be
1304 inserted at data block boundaries, and the number of keys per data
1311 [[hbase.rs.cacheblocksonwrite]]
1312 *`hbase.rs.cacheblocksonwrite`*::
1315 Whether an HFile block should be added to the block cache when the
1322 [[hbase.rpc.timeout]]
1323 *`hbase.rpc.timeout`*::
1326 This is for the RPC layer to define how long HBase client applications
1327 take for a remote call to time out. It uses pings to check connections
1328 but will eventually throw a TimeoutException.
1334 [[hbase.rpc.shortoperation.timeout]]
1335 *`hbase.rpc.shortoperation.timeout`*::
1338 This is another version of "hbase.rpc.timeout". For those RPC operations
1339 within cluster, we rely on this configuration to set a short timeout limitation
1340 for short operations. For example, short rpc timeout for region server trying
1341 to report to active master can benefit from quicker master failover process.
1347 [[hbase.ipc.client.tcpnodelay]]
1348 *`hbase.ipc.client.tcpnodelay`*::
1351 Set no delay on rpc socket connections. See
1352 http://docs.oracle.com/javase/8/docs/api/java/net/Socket.html#getTcpNoDelay--
1358 [[hbase.master.keytab.file]]
1359 *`hbase.master.keytab.file`*::
1362 Full path to the kerberos keytab file to use for logging in
1363 the configured HMaster server principal.
1369 [[hbase.master.kerberos.principal]]
1370 *`hbase.master.kerberos.principal`*::
1373 Ex. "hbase/_HOST@EXAMPLE.COM". The kerberos principal name
1374 that should be used to run the HMaster process. The principal name should
1375 be in the form: user/hostname@DOMAIN. If "_HOST" is used as the hostname
1376 portion, it will be replaced with the actual hostname of the running
1383 [[hbase.regionserver.keytab.file]]
1384 *`hbase.regionserver.keytab.file`*::
1387 Full path to the kerberos keytab file to use for logging in
1388 the configured HRegionServer server principal.
1394 [[hbase.regionserver.kerberos.principal]]
1395 *`hbase.regionserver.kerberos.principal`*::
1398 Ex. "hbase/_HOST@EXAMPLE.COM". The kerberos principal name
1399 that should be used to run the HRegionServer process. The principal name
1400 should be in the form: user/hostname@DOMAIN. If "_HOST" is used as the
1401 hostname portion, it will be replaced with the actual hostname of the
1402 running instance. An entry for this principal must exist in the file
1403 specified in hbase.regionserver.keytab.file
1409 [[hadoop.policy.file]]
1410 *`hadoop.policy.file`*::
1413 The policy configuration file used by RPC servers to make
1414 authorization decisions on client requests. Only used when HBase
1415 security is enabled.
1422 *`hbase.superuser`*::
1425 List of users or groups (comma-separated), who are allowed
1426 full privileges, regardless of stored ACLs, across the cluster.
1427 Only used when HBase security is enabled.
1433 [[hbase.auth.key.update.interval]]
1434 *`hbase.auth.key.update.interval`*::
1437 The update interval for master key for authentication tokens
1438 in servers in milliseconds. Only used when HBase security is enabled.
1444 [[hbase.auth.token.max.lifetime]]
1445 *`hbase.auth.token.max.lifetime`*::
1448 The maximum lifetime in milliseconds after which an
1449 authentication token expires. Only used when HBase security is enabled.
1455 [[hbase.ipc.client.fallback-to-simple-auth-allowed]]
1456 *`hbase.ipc.client.fallback-to-simple-auth-allowed`*::
1459 When a client is configured to attempt a secure connection, but attempts to
1460 connect to an insecure server, that server may instruct the client to
1461 switch to SASL SIMPLE (unsecure) authentication. This setting controls
1462 whether or not the client will accept this instruction from the server.
1463 When false (the default), the client will not allow the fallback to SIMPLE
1464 authentication, and will abort the connection.
1470 [[hbase.display.keys]]
1471 *`hbase.display.keys`*::
1474 When this is set to true the webUI and such will display all start/end keys
1475 as part of the table details, region names, etc. When this is set to false,
1476 the keys are hidden.
1482 [[hbase.coprocessor.region.classes]]
1483 *`hbase.coprocessor.region.classes`*::
1486 A comma-separated list of Coprocessors that are loaded by
1487 default on all tables. For any override coprocessor method, these classes
1488 will be called in order. After implementing your own Coprocessor, just put
1489 it in HBase's classpath and add the fully qualified class name here.
1490 A coprocessor can also be loaded on demand by setting HTableDescriptor.
1497 *`hbase.rest.port`*::
1500 The port for the HBase REST server.
1506 [[hbase.rest.readonly]]
1507 *`hbase.rest.readonly`*::
1510 Defines the mode the REST server will be started in. Possible values are:
1511 false: All HTTP methods are permitted - GET/PUT/POST/DELETE.
1512 true: Only the GET method is permitted.
1518 [[hbase.rest.threads.max]]
1519 *`hbase.rest.threads.max`*::
1522 The maximum number of threads of the REST server thread pool.
1523 Threads in the pool are reused to process REST requests. This
1524 controls the maximum number of requests processed concurrently.
1525 It may help to control the memory used by the REST server to
1526 avoid OOM issues. If the thread pool is full, incoming requests
1527 will be queued up and wait for some free threads.
1533 [[hbase.rest.threads.min]]
1534 *`hbase.rest.threads.min`*::
1537 The minimum number of threads of the REST server thread pool.
1538 The thread pool always has at least these number of threads so
1539 the REST server is ready to serve incoming requests.
1545 [[hbase.rest.support.proxyuser]]
1546 *`hbase.rest.support.proxyuser`*::
1549 Enables running the REST server to support proxy-user mode.
1555 [[hbase.defaults.for.version.skip]]
1556 *`hbase.defaults.for.version.skip`*::
1559 Set to true to skip the 'hbase.defaults.for.version' check.
1560 Setting this to true can be useful in contexts other than
1561 the other side of a maven generation; i.e. running in an
1562 ide. You'll want to set this boolean to true to avoid
1563 seeing the RuntimeException complaint: "hbase-default.xml file
1564 seems to be for and old version of HBase (\${hbase.version}), this
1565 version is X.X.X-SNAPSHOT"
1571 [[hbase.coprocessor.master.classes]]
1572 *`hbase.coprocessor.master.classes`*::
1575 A comma-separated list of
1576 org.apache.hadoop.hbase.coprocessor.MasterObserver coprocessors that are
1577 loaded by default on the active HMaster process. For any implemented
1578 coprocessor methods, the listed classes will be called in order. After
1579 implementing your own MasterObserver, just put it in HBase's classpath
1580 and add the fully qualified class name here.
1586 [[hbase.coprocessor.abortonerror]]
1587 *`hbase.coprocessor.abortonerror`*::
1590 Set to true to cause the hosting server (master or regionserver)
1591 to abort if a coprocessor fails to load, fails to initialize, or throws an
1592 unexpected Throwable object. Setting this to false will allow the server to
1593 continue execution but the system wide state of the coprocessor in question
1594 will become inconsistent as it will be properly executing in only a subset
1595 of servers, so this is most useful for debugging only.
1601 [[hbase.table.lock.enable]]
1602 *`hbase.table.lock.enable`*::
1605 Set to true to enable locking the table in zookeeper for schema change operations.
1606 Table locking from master prevents concurrent schema modifications to corrupt table
1613 [[hbase.table.max.rowsize]]
1614 *`hbase.table.max.rowsize`*::
1618 Maximum size of single row in bytes (default is 1 Gb) for Get'ting
1619 or Scan'ning without in-row scan flag set. If row size exceeds this limit
1620 RowTooBigException is thrown to client.
1627 [[hbase.thrift.minWorkerThreads]]
1628 *`hbase.thrift.minWorkerThreads`*::
1631 The "core size" of the thread pool. New threads are created on every
1632 connection until this many threads are created.
1638 [[hbase.thrift.maxWorkerThreads]]
1639 *`hbase.thrift.maxWorkerThreads`*::
1642 The maximum size of the thread pool. When the pending request queue
1643 overflows, new threads are created until their number reaches this number.
1644 After that, the server starts dropping connections.
1650 [[hbase.thrift.maxQueuedRequests]]
1651 *`hbase.thrift.maxQueuedRequests`*::
1654 The maximum number of pending Thrift connections waiting in the queue. If
1655 there are no idle threads in the pool, the server queues requests. Only
1656 when the queue overflows, new threads are added, up to
1657 hbase.thrift.maxQueuedRequests threads.
1663 [[hbase.regionserver.thrift.framed]]
1664 *`hbase.regionserver.thrift.framed`*::
1667 Use Thrift TFramedTransport on the server side.
1668 This is the recommended transport for thrift servers and requires a similar setting
1669 on the client side. Changing this to false will select the default transport,
1670 vulnerable to DoS when malformed requests are issued due to THRIFT-601.
1677 [[hbase.regionserver.thrift.framed.max_frame_size_in_mb]]
1678 *`hbase.regionserver.thrift.framed.max_frame_size_in_mb`*::
1681 Default frame size when using framed transport
1687 [[hbase.regionserver.thrift.compact]]
1688 *`hbase.regionserver.thrift.compact`*::
1691 Use Thrift TCompactProtocol binary serialization protocol.
1697 [[hbase.data.umask.enable]]
1698 *`hbase.data.umask.enable`*::
1701 Enable, if true, that file permissions should be assigned
1702 to the files written by the regionserver
1708 [[hbase.data.umask]]
1709 *`hbase.data.umask`*::
1712 File permissions that should be used to write data
1713 files when hbase.data.umask.enable is true
1719 [[hbase.snapshot.enabled]]
1720 *`hbase.snapshot.enabled`*::
1723 Set to true to allow snapshots to be taken / restored / cloned.
1729 [[hbase.snapshot.restore.take.failsafe.snapshot]]
1730 *`hbase.snapshot.restore.take.failsafe.snapshot`*::
1733 Set to true to take a snapshot before the restore operation.
1734 The snapshot taken will be used in case of failure, to restore the previous state.
1735 At the end of the restore operation this snapshot will be deleted
1741 [[hbase.snapshot.restore.failsafe.name]]
1742 *`hbase.snapshot.restore.failsafe.name`*::
1745 Name of the failsafe snapshot taken by the restore operation.
1746 You can use the {snapshot.name}, {table.name} and {restore.timestamp} variables
1747 to create a name based on what you are restoring.
1750 `hbase-failsafe-{snapshot.name}-{restore.timestamp}`
1753 [[hbase.server.compactchecker.interval.multiplier]]
1754 *`hbase.server.compactchecker.interval.multiplier`*::
1757 The number that determines how often we scan to see if compaction is necessary.
1758 Normally, compactions are done after some events (such as memstore flush), but if
1759 region didn't receive a lot of writes for some time, or due to different compaction
1760 policies, it may be necessary to check it periodically. The interval between checks is
1761 hbase.server.compactchecker.interval.multiplier multiplied by
1762 hbase.server.thread.wakefrequency.
1768 [[hbase.lease.recovery.timeout]]
1769 *`hbase.lease.recovery.timeout`*::
1772 How long we wait on dfs lease recovery in total before giving up.
1778 [[hbase.lease.recovery.dfs.timeout]]
1779 *`hbase.lease.recovery.dfs.timeout`*::
1782 How long between dfs recovery lease invocations. Should be larger than the sum of
1783 the time it takes for the namenode to issue a block recovery command as part of
1784 datanode dfs.heartbeat.interval and the time it takes for the primary
1785 datanode performing block recovery to timeout on a dead datanode, usually
1786 dfs.client.socket-timeout. See the end of HBASE-8389 for more.
1792 [[hbase.column.max.version]]
1793 *`hbase.column.max.version`*::
1796 New column family descriptors will use this value as the default number of versions
1803 [[hbase.dfs.client.read.shortcircuit.buffer.size]]
1804 *`hbase.dfs.client.read.shortcircuit.buffer.size`*::
1807 If the DFSClient configuration
1808 dfs.client.read.shortcircuit.buffer.size is unset, we will
1809 use what is configured here as the short circuit read default
1810 direct byte buffer size. DFSClient native default is 1MB; HBase
1811 keeps its HDFS files open so number of file blocks * 1MB soon
1812 starts to add up and threaten OOME because of a shortage of
1813 direct memory. So, we set it down from the default. Make
1814 it > the default hbase block size set in the HColumnDescriptor
1815 which is usually 64k.
1822 [[hbase.regionserver.checksum.verify]]
1823 *`hbase.regionserver.checksum.verify`*::
1827 If set to true (the default), HBase verifies the checksums for hfile
1828 blocks. HBase writes checksums inline with the data when it writes out
1829 hfiles. HDFS (as of this writing) writes checksums to a separate file
1830 than the data file necessitating extra seeks. Setting this flag saves
1831 some on i/o. Checksum verification by HDFS will be internally disabled
1832 on hfile streams when this flag is set. If the hbase-checksum verification
1833 fails, we will switch back to using HDFS checksums (so do not disable HDFS
1834 checksums! And besides this feature applies to hfiles only, not to WALs).
1835 If this parameter is set to false, then hbase will not verify any checksums,
1836 instead it will depend on checksum verification being done in the HDFS client.
1843 [[hbase.hstore.bytes.per.checksum]]
1844 *`hbase.hstore.bytes.per.checksum`*::
1848 Number of bytes in a newly created checksum chunk for HBase-level
1849 checksums in hfile blocks.
1856 [[hbase.hstore.checksum.algorithm]]
1857 *`hbase.hstore.checksum.algorithm`*::
1861 Name of an algorithm that is used to compute checksums. Possible values
1862 are NULL, CRC32, CRC32C.
1869 [[hbase.status.published]]
1870 *`hbase.status.published`*::
1874 This setting activates the publication by the master of the status of the region server.
1875 When a region server dies and its recovery starts, the master will push this information
1876 to the client application, to let them cut the connection immediately instead of waiting
1884 [[hbase.status.publisher.class]]
1885 *`hbase.status.publisher.class`*::
1889 Implementation of the status publication with a multicast message.
1893 `org.apache.hadoop.hbase.master.ClusterStatusPublisher$MulticastPublisher`
1896 [[hbase.status.listener.class]]
1897 *`hbase.status.listener.class`*::
1901 Implementation of the status listener with a multicast message.
1905 `org.apache.hadoop.hbase.client.ClusterStatusListener$MulticastListener`
1908 [[hbase.status.multicast.address.ip]]
1909 *`hbase.status.multicast.address.ip`*::
1913 Multicast address to use for the status publication by multicast.
1920 [[hbase.status.multicast.address.port]]
1921 *`hbase.status.multicast.address.port`*::
1925 Multicast port to use for the status publication by multicast.
1932 [[hbase.dynamic.jars.dir]]
1933 *`hbase.dynamic.jars.dir`*::
1937 The directory from which the custom filter/co-processor jars can be loaded
1938 dynamically by the region server without the need to restart. However,
1939 an already loaded filter/co-processor class would not be un-loaded. See
1940 HBASE-1936 for more details.
1944 `${hbase.rootdir}/lib`
1947 [[hbase.security.authentication]]
1948 *`hbase.security.authentication`*::
1952 Controls whether or not secure authentication is enabled for HBase.
1953 Possible values are 'simple' (no authentication), and 'kerberos'.
1960 [[hbase.rest.filter.classes]]
1961 *`hbase.rest.filter.classes`*::
1965 Servlet filters for REST service.
1969 `org.apache.hadoop.hbase.rest.filter.GzipFilter`
1972 [[hbase.master.loadbalancer.class]]
1973 *`hbase.master.loadbalancer.class`*::
1977 Class used to execute the regions balancing when the period occurs.
1978 See the class comment for more on how it works
1979 https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.html
1980 It replaces the DefaultLoadBalancer as the default (since renamed
1981 as the SimpleLoadBalancer).
1985 `org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer`
1988 [[hbase.security.exec.permission.checks]]
1989 *`hbase.security.exec.permission.checks`*::
1993 If this setting is enabled and ACL based access control is active (the
1994 AccessController coprocessor is installed either as a system coprocessor
1995 or on a table as a table coprocessor) then you must grant all relevant
1996 users EXEC privilege if they require the ability to execute coprocessor
1997 endpoint calls. EXEC privilege, like any other permission, can be
1998 granted globally to a user, or to a user on a per table or per namespace
1999 basis. For more information on coprocessor endpoints, see the coprocessor
2000 section of the HBase online manual. For more information on granting or
2001 revoking permissions using the AccessController, see the security
2002 section of the HBase online manual.
2009 [[hbase.procedure.regionserver.classes]]
2010 *`hbase.procedure.regionserver.classes`*::
2013 A comma-separated list of
2014 org.apache.hadoop.hbase.procedure.RegionServerProcedureManager procedure managers that are
2015 loaded by default on the active HRegionServer process. The lifecycle methods (init/start/stop)
2016 will be called by the active HRegionServer process to perform the specific globally barriered
2017 procedure. After implementing your own RegionServerProcedureManager, just put it in
2018 HBase's classpath and add the fully qualified class name here.
2025 [[hbase.procedure.master.classes]]
2026 *`hbase.procedure.master.classes`*::
2029 A comma-separated list of
2030 org.apache.hadoop.hbase.procedure.MasterProcedureManager procedure managers that are
2031 loaded by default on the active HMaster process. A procedure is identified by its signature and
2032 users can use the signature and an instant name to trigger an execution of a globally barriered
2033 procedure. After implementing your own MasterProcedureManager, just put it in HBase's classpath
2034 and add the fully qualified class name here.
2039 [[hbase.regionserver.storefile.refresh.period]]
2040 *`hbase.regionserver.storefile.refresh.period`*::
2044 The period (in milliseconds) for refreshing the store files for the secondary regions. 0
2045 means this feature is disabled. Secondary regions sees new files (from flushes and
2046 compactions) from primary once the secondary region refreshes the list of files in the
2047 region (there is no notification mechanism). But too frequent refreshes might cause
2048 extra Namenode pressure. If the files cannot be refreshed for longer than HFile TTL
2049 (hbase.master.hfilecleaner.ttl) the requests are rejected. Configuring HFile TTL to a larger
2050 value is also recommended with this setting.
2057 [[hbase.region.replica.replication.enabled]]
2058 *`hbase.region.replica.replication.enabled`*::
2062 Whether asynchronous WAL replication to the secondary region replicas is enabled or not.
2063 If this is enabled, a replication peer named "region_replica_replication" will be created
2064 which will tail the logs and replicate the mutations to region replicas for tables that
2065 have region replication > 1. If this is enabled once, disabling this replication also
2066 requires disabling the replication peer using shell or Admin java class.
2067 Replication to secondary region replicas works over standard inter-cluster replication.
2075 [[hbase.http.filter.initializers]]
2076 *`hbase.http.filter.initializers`*::
2080 A comma separated list of class names. Each class in the list must extend
2081 org.apache.hadoop.hbase.http.FilterInitializer. The corresponding Filter will
2082 be initialized. Then, the Filter will be applied to all user facing jsp
2083 and servlet web pages.
2084 The ordering of the list defines the ordering of the filters.
2085 The default StaticUserWebFilter adds a user principal as defined by the
2086 hbase.http.staticuser.user property.
2090 `org.apache.hadoop.hbase.http.lib.StaticUserWebFilter`
2093 [[hbase.security.visibility.mutations.checkauths]]
2094 *`hbase.security.visibility.mutations.checkauths`*::
2098 This property if enabled, will check whether the labels in the visibility expression are associated
2099 with the user issuing the mutation
2106 [[hbase.http.max.threads]]
2107 *`hbase.http.max.threads`*::
2111 The maximum number of threads that the HTTP Server will create in its
2119 [[hbase.replication.rpc.codec]]
2120 *`hbase.replication.rpc.codec`*::
2124 The codec that is to be used when replication is enabled so that
2125 the tags are also replicated. This is used along with HFileV3 which
2126 supports tags in them. If tags are not used or if the hfile version used
2127 is HFileV2 then KeyValueCodec can be used as the replication codec. Note that
2128 using KeyValueCodecWithTags for replication when there are no tags causes no harm.
2132 `org.apache.hadoop.hbase.codec.KeyValueCodecWithTags`
2135 [[hbase.http.staticuser.user]]
2136 *`hbase.http.staticuser.user`*::
2140 The user name to filter as on static web filters
2141 while rendering content. For example, the HDFS
2142 web UI (user to be used for browsing files).
2149 [[hbase.regionserver.handler.abort.on.error.percent]]
2150 *`hbase.regionserver.handler.abort.on.error.percent`*::
2153 The percent of region server RPC threads failed to abort RS.
2154 -1 Disable aborting; 0 Abort if even a single handler has died;
2155 0.x Abort only when this percent of handlers have died;
2156 1 Abort only all of the handlers have died.
2162 [[hbase.master.cleaner.snapshot.interval]]
2163 *`hbase.master.cleaner.snapshot.interval`*::
2167 Snapshot Cleanup chore interval in milliseconds.
2168 The cleanup thread keeps running at this interval
2169 to find all snapshots that are expired based on TTL
2177 [[hbase.master.snapshot.ttl]]
2178 *`hbase.master.snapshot.ttl`*::
2182 Default Snapshot TTL to be considered when the user
2183 does not specify TTL while creating snapshot.
2184 Default value 0 indicates FOREVERE - snapshot should not be
2185 automatically deleted until it is manually deleted
2193 [[hbase.master.regions.recovery.check.interval]]
2194 *`hbase.master.regions.recovery.check.interval`*::
2198 Regions Recovery Chore interval in milliseconds.
2199 This chore keeps running at this interval to
2200 find all regions with configurable max store file ref count
2208 [[hbase.regions.recovery.store.file.ref.count]]
2209 *`hbase.regions.recovery.store.file.ref.count`*::
2213 Very large number of ref count on a compacted
2214 store file indicates that it is a ref leak
2215 on that object(compacted store file).
2216 Such files can not be removed after
2217 it is invalidated via compaction.
2218 Only way to recover in such scenario is to
2219 reopen the region which can release
2220 all resources, like the refcount,
2221 leases, etc. This config represents Store files Ref
2222 Count threshold value considered for reopening
2223 regions. Any region with compacted store files
2224 ref count > this value would be eligible for
2225 reopening by master. Here, we get the max
2226 refCount among all refCounts on all
2227 compacted away store files that belong to a
2228 particular region. Default value -1 indicates
2229 this feature is turned off. Only positive
2230 integer value should be provided to
2231 enable this feature.
2238 [[hbase.regionserver.slowlog.ringbuffer.size]]
2239 *`hbase.regionserver.slowlog.ringbuffer.size`*::
2243 Default size of ringbuffer to be maintained by each RegionServer in order
2244 to store online slowlog responses. This is an in-memory ring buffer of
2245 requests that were judged to be too slow in addition to the responseTooSlow
2246 logging. The in-memory representation would be complete.
2247 For more details, please look into Doc Section:
2248 <<slow_log_responses, slow_log_responses>>
2257 [[hbase.regionserver.slowlog.buffer.enabled]]
2258 *`hbase.regionserver.slowlog.buffer.enabled`*::
2262 Indicates whether RegionServers have ring buffer running for storing
2263 Online Slow logs in FIFO manner with limited entries. The size of
2264 the ring buffer is indicated by config: hbase.regionserver.slowlog.ringbuffer.size
2265 The default value is false, turn this on and get latest slowlog
2266 responses with complete data.
2267 For more details, please look into Doc Section:
2268 <<slow_log_responses, slow_log_responses>>
2276 [[hbase.regionserver.slowlog.systable.enabled]]
2277 *`hbase.regionserver.slowlog.systable.enabled`*::
2281 Should be enabled only if hbase.regionserver.slowlog.buffer.enabled is enabled.
2282 If enabled (true), all slow/large RPC logs would be persisted to system table
2283 hbase:slowlog (in addition to in-memory ring buffer at each RegionServer).
2284 The records are stored in increasing order of time.
2285 Operators can scan the table with various combination of ColumnValueFilter and
2287 More details are provided in the doc section:
2288 "Get Slow/Large Response Logs from System table hbase:slowlog"
2295 [[hbase.master.metafixer.max.merge.count]]
2296 *`hbase.master.metafixer.max.merge.count`*::
2300 Maximum regions to merge at a time when we fix overlaps noted in
2301 CJ consistency report, but avoid merging 100 regions in one go!
2308 [[hbase.rpc.rows.size.threshold.reject]]
2309 *`hbase.rpc.rows.size.threshold.reject`*::
2313 If value is true, RegionServer will abort batch requests of
2314 Put/Delete with number of rows in a batch operation exceeding
2315 threshold defined by value of config:
2316 hbase.rpc.rows.warning.threshold.
2317 The default value is false and hence, by default, only
2318 warning will be logged. This config should be turned on to
2319 prevent RegionServer from serving
2320 very large batch size of rows and this way we can improve
2321 CPU usages by discarding too large batch request.
2327 [[hbase.master.balancer.decision.buffer.enabled]]
2328 *`hbase.master.balancer.decision.buffer.enabled`*::
2332 Indicates whether active HMaster has ring buffer running for storing
2333 balancer decisions in FIFO manner with limited entries. The size of
2334 the ring buffer is indicated by config:
2335 hbase.master.balancer.decision.queue.size
2341 [[hbase.master.balancer.rejection.buffer.enabled]]
2342 *`hbase.master.balancer.rejection.buffer.enabled`*::
2346 Indicates whether active HMaster has ring buffer running for storing
2347 balancer rejection in FIFO manner with limited entries. The size of
2348 the ring buffer is indicated by config:
2349 hbase.master.balancer.rejection.queue.size