Accumulo 4.x Documentation >> Configuration >> Server Properties (4.x)

Server Properties (4.x)

Edit this page

Below are properties set in accumulo.properties or the Accumulo shell that configure Accumulo servers (i.e. tablet server, manager, etc). Properties labeled ‘Experimental’ should not be considered stable and have a higher risk of changing in the future.

Property Description
compaction.* Available since: 3.1.0
Both major and minor compaction properties can be included under this prefix.
compaction.coordinator.* Available since: 2.1.0
Properties in this category affect the behavior of the accumulo compaction coordinator server.
compaction.coordinator.compactor.dead.check.interval Available since: 2.1.0
The interval at which to check for dead compactors.
type: TIMEDURATION, zk mutable: no, default value: 5m
compaction.coordinator.reservation.threads.meta Available since: 4.0.0
The number of threads used to reserve files for compaction in a tablet for accumulo.metadata tablets.
type: COUNT, zk mutable: no, default value: 1
compaction.coordinator.reservation.threads.root Available since: 4.0.0
The number of threads used to reserve files for compaction in a tablet for the root tablet.
type: COUNT, zk mutable: no, default value: 1
compaction.coordinator.reservation.threads.user Available since: 4.0.0
The number of threads used to reserve files for compaction in a tablet for user tables.
type: COUNT, zk mutable: no, default value: 64
compaction.service.* Available since: 3.1.0
This prefix should be used to define all properties for the compaction services.See org.apache.accumulo.core.spi.compaction.RatioBasedCompactionPlanner.
A new external compaction service would be defined like the following:
compaction.service.newService.planner="org.apache.accumulo.core.spi.compaction.RatioBasedCompactionPlanner".
compaction.service.newService.opts.groups="[{"group": "small", "maxSize":"32M"},{ "group":"medium", "maxSize":"512M"},{"group":"large"}]
compaction.service.newService.opts.maxOpen=50.
Additional options can be defined using the compaction.service.<service>.opts.<option> property.
compaction.service.default.planner Available since: 4.0.0
Planner for default compaction service.
type: CLASSNAME, zk mutable: yes, default value: org.apache.accumulo.core.spi.compaction.RatioBasedCompactionPlanner
compaction.service.default.planner.opts.groups Available since: 4.0.0
See org.apache.accumulo.core.spi.compaction.RatioBasedCompactionPlanner.
type: JSON, zk mutable: yes, default value: [{"group":"default"}]
compaction.service.default.planner.opts.maxOpen Available since: 4.0.0
The maximum number of files a compaction will open.
type: COUNT, zk mutable: yes, default value: 10
compaction.warn.time Available since: 3.1.0
When a compaction has not made progress for this time period, a warning will be logged.
type: TIMEDURATION, zk mutable: yes, default value: 10m
compactor.* Available since: 2.1.0
Properties in this category affect the behavior of the accumulo compactor server.
compactor.cancel.check.interval Available since: 2.1.4
Interval at which Compactors will check to see if the currently executing compaction should be cancelled. This checks for situations like was the tablet deleted (split and merge do this), was the table deleted, was a user compaction canceled, etc.
type: TIMEDURATION, zk mutable: no, default value: 5m
compactor.group Available since: 3.0.0
Resource group name for this Compactor.
type: STRING, zk mutable: no, default value: default
compactor.port.client Available since: 2.1.0
The port used for handling client connections on the compactor servers.
type: PORT, zk mutable: no, default value: 9133
compactor.port.search Available since: 2.1.0
If the compactor.port.client ports are in use, search higher ports until one is available.
type: BOOLEAN, zk mutable: no, default value: true
compactor.threadcheck.time Available since: 2.1.0
The time between adjustments of the server thread pool.
type: TIMEDURATION, zk mutable: no, default value: 1s
compactor.threads.minimum Available since: 2.1.0
The minimum number of threads to use to handle incoming requests.
type: COUNT, zk mutable: no, default value: 4
compactor.threads.timeout Available since: 2.1.0
The time after which incoming request threads terminate with no work available. Zero (0) will keep the threads alive indefinitely.
type: TIMEDURATION, zk mutable: no, default value: 0s
compactor.wait.time.job.max Available since: 2.1.3
Compactors do exponential backoff when their request for work repeatedly come back empty. This is the maximum amount of time to wait between checks for the next compaction job.
type: TIMEDURATION, zk mutable: no, default value: 5m
compactor.wait.time.job.min Available since: 2.1.3
The minimum amount of time to wait between checks for the next compaction job, backing offexponentially until COMPACTOR_MAX_JOB_WAIT_TIME is reached.
type: TIMEDURATION, zk mutable: no, default value: 1s
gc.* Available since: 1.3.5
Properties in this category affect the behavior of the accumulo garbage collector.
gc.candidate.batch.size Available since: 2.1.0
The amount of memory used as the batch size for garbage collection.
type: MEMORY, zk mutable: yes, default value: 50%
gc.cycle.delay Available since: 1.3.5
Time between garbage collection cycles. In each cycle, old RFiles or write-ahead logs no longer in use are removed from the filesystem.
type: TIMEDURATION, zk mutable: yes, default value: 5m
gc.cycle.start Available since: 1.3.5
Time to wait before attempting to garbage collect any old RFiles or write-ahead logs.
type: TIMEDURATION, zk mutable: yes, default value: 30s
gc.port.client Available since: 1.3.5
The listening port for the garbage collector’s monitor service.
type: PORT, zk mutable: yes but requires restart of the gc, default value: 9998
gc.post.metadata.action Available since: 1.10.0
When the gc runs it can make a lot of changes to the metadata, on completion, to force the changes to be written to disk, the metadata and root tables can be flushed and possibly compacted. Legal values are: compact - which both flushes and compacts the metadata; flush - which flushes only (compactions may be triggered if required); or none.
type: GC_POST_ACTION, zk mutable: yes, default value: flush
gc.safemode Available since: 2.1.0
Provides listing of files to be deleted but does not delete any files.
type: BOOLEAN, zk mutable: yes, default value: false
gc.threads.delete Available since: 1.3.5
The number of threads used to delete RFiles.
type: COUNT, zk mutable: yes, default value: 16
gc.threads.delete.wal Available since: 2.1.4
The number of threads used to delete write-ahead logs and recovery files.
type: COUNT, zk mutable: yes, default value: 4
general.* Available since: 1.3.5
Properties in this category affect the behavior of accumulo overall, but do not have to be consistent throughout a cloud.
general.block.cache.manager.class Available since: 2.1.4
Specifies the class name of the block cache factory implementation.
type: STRING, zk mutable: no, default value: org.apache.accumulo.core.file.blockfile.cache.tinylfu.TinyLfuBlockCacheManager
general.context.class.loader.factory Available since: 2.1.0
Name of classloader factory to be used to create classloaders for named contexts, such as per-table contexts set by table.class.loader.context.
type: CLASSNAME, zk mutable: no, default value: empty
general.custom.* Available since: 2.0.0
Prefix to be used for user defined system-wide properties. This may be particularly useful for system-wide configuration for various user-implementations of pluggable Accumulo features, such as the balancer or volume chooser.
general.delegation.token.lifetime Available since: 1.7.0
The length of time that delegation tokens and secret keys are valid.
type: TIMEDURATION, zk mutable: no, default value: 7d
general.delegation.token.update.interval Available since: 1.7.0
The length of time between generation of new secret keys.
type: TIMEDURATION, zk mutable: no, default value: 1d
general.file.name.allocation.batch.size.max Available since: 2.1.3
The maximum number of filenames that will be allocated from ZooKeeper at a time.
type: COUNT, zk mutable: yes, default value: 200
general.file.name.allocation.batch.size.min Available since: 2.1.3
The minimum number of filenames that will be allocated from ZooKeeper at a time.
type: COUNT, zk mutable: yes, default value: 100
general.kerberos.keytab Available since: 1.4.1
Path to the kerberos keytab to use. Leave blank if not using kerberoized hdfs.
type: PATH, zk mutable: no, default value: empty
general.kerberos.principal Available since: 1.4.1
Name of the kerberos principal to use. _HOST will automatically be replaced by the machines hostname in the hostname portion of the principal. Leave blank if not using kerberoized hdfs.
type: STRING, zk mutable: no, default value: empty
general.kerberos.renewal.period Available since: 1.6.5
The amount of time between attempts to perform Kerberos ticket renewals. This does not equate to how often tickets are actually renewed (which is performed at 80% of the ticket lifetime).
type: TIMEDURATION, zk mutable: no, default value: 30s
general.low.mem.detector.interval Available since: 3.0.0
The time interval between low memory checks.
type: TIMEDURATION, zk mutable: no, default value: 5s
general.low.mem.detector.threshold Available since: 3.0.0
The LowMemoryDetector will report when free memory drops below this percentage of total memory.
type: FRACTION, zk mutable: no, default value: 0.05
general.low.mem.protection.compaction.majc Available since: 3.0.0
Major compactions may be paused when the server is low on memory and this property is set to true. Enabling this property will incur a slight compaction performance penalty when the server is not low on memory.
type: BOOLEAN, zk mutable: no, default value: false
general.low.mem.protection.compaction.minc Available since: 3.0.0
Minor compactions may be paused when the server is low on memory and this property is set to true. Enabling this property will incur a slight compaction performance penalty when the server is not low on memory.
type: BOOLEAN, zk mutable: no, default value: false
general.low.mem.protection.scan Available since: 3.0.0
Scans may be paused or return results early when the server is low on memory and this property is set to true. Enabling this property will incur a slight scan performance penalty when the server is not low on memory.
type: BOOLEAN, zk mutable: no, default value: false
general.max.scanner.retry.period Available since: 1.7.3
The maximum amount of time that a Scanner should wait before retrying a failed RPC.
type: TIMEDURATION, zk mutable: no, default value: 5s
general.metrics.process.idle Available since: 2.1.3
Amount of time a process must be idle before it is considered to be idle by the metrics system.
type: TIMEDURATION, zk mutable: no, default value: 5m
general.micrometer.cache.metrics.enabled Available since: 4.0.0
Enables Caffeine Cache metrics functionality using Micrometer.
type: BOOLEAN, zk mutable: no, default value: false
general.micrometer.enabled Available since: 2.1.0
Enables metrics collection and reporting functionality using Micrometer.
type: BOOLEAN, zk mutable: no, default value: false
general.micrometer.factory Available since: 2.1.0
A comma separated list of one or more class names that implements org.apache.accumulo.core.spi.metrics.MeterRegistryFactory. Prior to 2.1.3 this was a single value and the default was an empty string. In 2.1.3 the default was changed and it now can accept multiple class names. The metrics spi was introduced in 2.1.3, the deprecated factory is org.apache.accumulo.core.metrics.MeterRegistryFactory.
type: CLASSNAMELIST, zk mutable: no, default value: org.apache.accumulo.core.spi.metrics.LoggingMeterRegistryFactory
general.micrometer.jvm.metrics.enabled Available since: 2.1.0
Enables additional JVM metrics collection and reporting using Micrometer. Requires property ‘general.micrometer.enabled’ to be set to ‘true’ to take effect.
type: BOOLEAN, zk mutable: no, default value: false
general.micrometer.log.metrics Available since: 2.1.4
Enables additional log metrics collection and reporting using Micrometer. Requires property ‘general.micrometer.enabled’ to be set to ‘true’ to take effect. Micrometer natively instruments Log4j2 and Logback. Valid values for this property are ‘none’,’log4j2’ or ‘logback’.
type: STRING, zk mutable: no, default value: none
general.micrometer.user.tags Available since: 4.0.0
A comma separated list of tags to emit with all metrics from the process. Example:”tag1=value1,tag2=value2”.
type: STRING, zk mutable: no, default value: empty
general.opentelemetry.enabled Experimental
Available since: 2.1.0
Enables tracing functionality using OpenTelemetry (assuming OpenTelemetry is configured).
type: BOOLEAN, zk mutable: no, default value: false
general.process.bind.addr Available since: 3.0.0
The local IP address to which this server should bind for sending and receiving network traffic.
type: STRING, zk mutable: no, default value: 0.0.0.0
general.rpc.server.type Experimental
Available since: 1.7.0
Type of Thrift server to instantiate, see org.apache.accumulo.server.rpc.ThriftServerType for more information. Only useful for benchmarking thrift servers.
type: STRING, zk mutable: no, default value: empty
general.rpc.timeout Available since: 1.3.5
Time to wait on I/O for simple, short RPC calls.
type: TIMEDURATION, zk mutable: no, default value: 120s
general.security.credential.provider.paths Available since: 1.6.1
Comma-separated list of paths to CredentialProviders.
type: STRING, zk mutable: no, default value: empty
general.server.lock.verification.interval Available since: 2.1.4
Interval at which the Manager and TabletServer should verify their server locks. A value of zero disables this check. The default value change from 0 to 2m in 3.1.0.
type: TIMEDURATION, zk mutable: no, default value: 2m
general.server.threadpool.size Available since: 2.1.0
The number of threads to use for server-internal scheduled tasks.
type: COUNT, zk mutable: no, default value: 3
general.volume.chooser Experimental
Available since: 1.6.0
The class that will be used to select which volume will be used to create new files.
type: CLASSNAME, zk mutable: no, default value: org.apache.accumulo.core.spi.fs.RandomVolumeChooser
instance.* Available since: 1.3.5
Properties in this category must be consistent throughout a cloud. This is enforced and servers won’t be able to communicate if these differ.
instance.crypto.opts.* Experimental
Available since: 2.0.0
Properties related to on-disk file encryption.
instance.crypto.opts.factory Experimental
Available since: 2.1.0
The class which provides crypto services for on-disk file encryption. The default does nothing. To enable encryption, replace this classname with an implementation of theorg.apache.accumulo.core.spi.crypto.CryptoFactory interface.
type: CLASSNAME, zk mutable: no, default value: org.apache.accumulo.core.spi.crypto.NoCryptoServiceFactory
instance.crypto.opts.sensitive.* Experimental
Available since: 2.0.0
Sensitive properties related to on-disk file encryption.
instance.rpc.sasl.allowed.host.impersonation Available since: 1.7.1
One-line configuration property controlling the network locations (hostnames) that are allowed to impersonate other users.
type: STRING, zk mutable: no, default value: empty
instance.rpc.sasl.allowed.user.impersonation Available since: 1.7.1
One-line configuration property controlling what users are allowed to impersonate other users.
type: STRING, zk mutable: no, default value: empty
instance.rpc.sasl.enabled Available since: 1.7.0
Configures Thrift RPCs to require SASL with GSSAPI which supports Kerberos authentication. Mutually exclusive with SSL RPC configuration.
type: BOOLEAN, zk mutable: no, default value: false
instance.rpc.ssl.clientAuth Available since: 1.6.0
Require clients to present certs signed by a trusted root.
type: BOOLEAN, zk mutable: no, default value: false
instance.rpc.ssl.enabled Available since: 1.6.0
Use SSL for socket connections from clients and among accumulo services. Mutually exclusive with SASL RPC configuration.
type: BOOLEAN, zk mutable: no, default value: false
instance.secret Available since: 1.3.5
A secret unique to a given instance that all servers must know in order to communicate with one another. It should be changed prior to the initialization of Accumulo. To change it after Accumulo has been initialized, use the ChangeSecret tool and then update accumulo.properties everywhere. Before using the ChangeSecret tool, make sure Accumulo is not running and you are logged in as the user that controls Accumulo files in HDFS. To use the ChangeSecret tool, run the command: ./bin/accumulo admin changeSecret.
type: STRING, zk mutable: no, default value: DEFAULT
instance.security.authenticator Experimental
Available since: 1.5.0
The authenticator class that accumulo will use to determine if a user has privilege to perform an action.
type: CLASSNAME, zk mutable: no, default value: org.apache.accumulo.server.security.handler.ZKAuthenticator
instance.security.authorizor Experimental
Available since: 1.5.0
The authorizor class that accumulo will use to determine what labels a user has privilege to see.
type: CLASSNAME, zk mutable: no, default value: org.apache.accumulo.server.security.handler.ZKAuthorizor
instance.security.permissionHandler Experimental
Available since: 1.5.0
The permission handler class that accumulo will use to determine if a user has privilege to perform an action.
type: CLASSNAME, zk mutable: no, default value: org.apache.accumulo.server.security.handler.ZKPermHandler
instance.volume.config.* Available since: 2.1.1
Properties in this category are used to provide volume specific overrides to the general filesystem client configuration. Properties using this prefix should be in the form ‘instance.volume.config..=. An example: 'instance.volume.config.hdfs://namespace-a:8020/accumulo.dfs.client.hedged.read.threadpool.size=10'. Note that when specifying property names that contain colons in the properties files that the colons need to be escaped with a backslash.
instance.volumes Available since: 1.6.0
A comma separated list of dfs uris to use. Files will be stored across these filesystems. In some situations, the first volume in this list may be treated differently, such as being preferred for writing out temporary files (for example, when creating a pre-split table). After adding uris to this list, run ‘accumulo init –add-volume’ and then restart tservers. If entries are removed from this list then tservers will need to be restarted. After a uri is removed from the list Accumulo will not create new files in that location, however Accumulo can still reference files created at that location before the config change. To use a comma or other reserved characters in a URI use standard URI hex encoding. For example replace commas with %2C.
type: VOLUMES, zk mutable: no, default value: empty
instance.volumes.replacements Available since: 1.6.0
Since accumulo stores absolute URIs changing the location of a namenode could prevent Accumulo from starting. The property helps deal with that situation. Provide a comma separated list of uri replacement pairs here if a namenode location changes. Each pair should be separated with a space. For example, if hdfs://nn1 was replaced with hdfs://nnA and hdfs://nn2 was replaced with hdfs://nnB, then set this property to ‘hdfs://nn1 hdfs://nnA,hdfs://nn2 hdfs://nnB’ Replacements must be configured for use. To see which volumes are currently in use, run ‘accumulo admin volumes -l’. To use a comma or other reserved characters in a URI use standard URI hex encoding. For example replace commas with %2C.
type: STRING, zk mutable: no, default value: empty
instance.zookeeper.host Available since: 1.3.5
Comma separated list of zookeeper servers.
type: HOSTLIST, zk mutable: no, default value: localhost:2181
instance.zookeeper.timeout Available since: 1.3.5
Zookeeper session timeout; max value when represented as milliseconds should be no larger than 2147483647.
type: TIMEDURATION, zk mutable: no, default value: 30s
manager.* Available since: 2.1.0
Properties in this category affect the behavior of the manager server.
manager.bulk.timeout Available since: 2.1.0 (formerly master.bulk.timeout since 1.4.3)
The time to wait for a tablet server to process a bulk import request.
type: TIMEDURATION, zk mutable: yes, default value: 5m
manager.compaction.major.service.queue.size Available since: 4.0.0
The data size of each resource groups compaction job priority queue. The memory size of each compaction job is estimated and the sum of these sizes per resource group will not exceed this setting. When the size is exceeded the lowest priority jobs are dropped as needed.
type: MEMORY, zk mutable: yes but requires restart of the manager, default value: 1M
manager.fate.idle.check.interval Available since: 4.0.0
The interval at which to check if the number of idle Fate threads has consistently been zero. The way this is checked is an approximation. Logs a warning in the Manager log to change MANAGER_FATE_USER_CONFIG or MANAGER_FATE_META_CONFIG. A value less than a minute disables this check and has a maximum value of 60m.
type: TIMEDURATION, zk mutable: yes, default value: 60m
manager.fate.meta.config Available since: 4.0.0
The number of threads used to run fault-tolerant executions (FATE) on Accumulosystem tables. These are primarily table operations like merge. Each key/value of the provided JSON corresponds to one thread pool. Each key is a list of one or more FATE operations and each value is the number of threads that will be assigned to the pool.
type: FATE_META_CONFIG, zk mutable: yes, default value: {"TABLE_CREATE,TABLE_DELETE,TABLE_RENAME,TABLE_ONLINE,TABLE_OFFLINE,NAMESPACE_CREATE,NAMESPACE_DELETE,NAMESPACE_RENAME,TABLE_TABLET_AVAILABILITY,SHUTDOWN_TSERVER,TABLE_BULK_IMPORT2,TABLE_COMPACT,TABLE_CANCEL_COMPACT,TABLE_MERGE,TABLE_DELETE_RANGE,TABLE_SPLIT,TABLE_CLONE,TABLE_IMPORT,TABLE_EXPORT,SYSTEM_MERGE": 4,"COMMIT_COMPACTION": 4,"SYSTEM_SPLIT": 4}
manager.fate.metrics.min.update.interval Available since: 2.1.0 (formerly master.fate.metrics.min.update.interval since 1.9.3)
Limit calls from metric sinks to zookeeper to update interval.
type: TIMEDURATION, zk mutable: yes, default value: 60s
manager.fate.threadpool.size Available since: 2.1.0 (formerly master.fate.threadpool.size since 1.4.3)
Deprecated since: 4.0.0
Previously, the number of threads used to run fault-tolerant executions (FATE). This is no longer used in 4.0+. MANAGER_FATE_USER_CONFIG and MANAGER_FATE_META_CONFIG are the replacement and must be set instead.
type: FATE_THREADPOOL_SIZE, zk mutable: yes, default value: 64
manager.fate.user.config Available since: 4.0.0
The number of threads used to run fault-tolerant executions (FATE) on usertables. These are primarily table operations like merge. Each key/value of the provided JSON corresponds to one thread pool. Each key is a list of one or more FATE operations and each value is the number of threads that will be assigned to the pool.
type: FATE_USER_CONFIG, zk mutable: yes, default value: {"TABLE_CREATE,TABLE_DELETE,TABLE_RENAME,TABLE_ONLINE,TABLE_OFFLINE,NAMESPACE_CREATE,NAMESPACE_DELETE,NAMESPACE_RENAME,TABLE_TABLET_AVAILABILITY,SHUTDOWN_TSERVER,TABLE_BULK_IMPORT2,TABLE_COMPACT,TABLE_CANCEL_COMPACT,TABLE_MERGE,TABLE_DELETE_RANGE,TABLE_SPLIT,TABLE_CLONE,TABLE_IMPORT,TABLE_EXPORT,SYSTEM_MERGE": 4,"COMMIT_COMPACTION": 4,"SYSTEM_SPLIT": 4}
manager.lease.recovery.interval Available since: 2.1.0 (formerly master.lease.recovery.interval since 1.5.0)
The amount of time to wait after requesting a write-ahead log to be recovered.
type: TIMEDURATION, zk mutable: yes, default value: 5s
manager.metadata.suspendable Available since: 2.1.0 (formerly master.metadata.suspendable since 1.8.0)
Allow tablets for the accumulo.metadata table to be suspended via table.suspend.duration.
type: BOOLEAN, zk mutable: yes, default value: false
manager.port.client Available since: 2.1.0 (formerly master.port.client since 1.3.5)
The port used for handling client connections on the manager.
type: PORT, zk mutable: yes but requires restart of the manager, default value: 9999
manager.recovery.delay Available since: 2.1.0 (formerly master.recovery.delay since 1.5.0)
When a tablet server’s lock is deleted, it takes time for it to completely quit. This delay gives it time before log recoveries begin.
type: TIMEDURATION, zk mutable: yes, default value: 10s
manager.recovery.wal.cache.time Available since: 2.1.2
Amount of time that the existence of recovery write-ahead logs is cached.
type: TIMEDURATION, zk mutable: yes but requires restart of the manager, default value: 15s
manager.rename.threadpool.size Available since: 2.1.0
The number of threads to use when renaming user files during table import or bulk ingest.
type: COUNT, zk mutable: yes, default value: 20
manager.server.threadcheck.time Available since: 2.1.0 (formerly master.server.threadcheck.time since 1.4.0)
The time between adjustments of the server thread pool.
type: TIMEDURATION, zk mutable: yes, default value: 1s
manager.server.threads.minimum Available since: 2.1.0 (formerly master.server.threads.minimum since 1.4.0)
The minimum number of threads to use to handle incoming requests.
type: COUNT, zk mutable: yes but requires restart of the manager, default value: 20
manager.server.threads.timeout Available since: 2.1.0
The time after which incoming request threads terminate with no work available. Zero (0) will keep the threads alive indefinitely.
type: TIMEDURATION, zk mutable: yes but requires restart of the manager, default value: 0s
manager.startup.tserver.avail.max.wait Available since: 2.1.0 (formerly master.startup.tserver.avail.max.wait since 1.10.0)
Maximum time manager will wait for tserver available threshold to be reached before continuing. When set to 0 or less, will block indefinitely. Default is 0 to block indefinitely. Only valid when tserver available threshold is set greater than 0.
type: TIMEDURATION, zk mutable: yes, default value: 0
manager.startup.tserver.avail.min.count Available since: 2.1.0 (formerly master.startup.tserver.avail.min.count since 1.10.0)
Minimum number of tservers that need to be registered before manager will start tablet assignment - checked at manager initialization, when manager gets lock. When set to 0 or less, no blocking occurs. Default is 0 (disabled) to keep original behaviour.
type: COUNT, zk mutable: yes, default value: 0
manager.status.threadpool.size Available since: 2.1.0 (formerly master.status.threadpool.size since 1.8.0)
The number of threads to use when fetching the tablet server status for balancing. Zero indicates an unlimited number of threads will be used.
type: COUNT, zk mutable: yes, default value: 0
manager.tablet.balancer Available since: 2.1.0 (formerly master.tablet.balancer since 1.3.5)
The balancer class that accumulo will use to make tablet assignment and migration decisions.
type: CLASSNAME, zk mutable: yes, default value: org.apache.accumulo.core.spi.balancer.TableLoadBalancer
manager.tablet.mergeability.interval Available since: 4.0.0
Time to wait between scanning tables to identify ranges of tablets that can be auto-merged. Valid ranges will be have merge fate ops submitted.
type: TIMEDURATION, zk mutable: yes, default value: 24h
manager.tablet.refresh.threads.maximum Available since: 4.0.0
The Manager will notify TabletServers that a Tablet needs to be refreshed after certain operations are performed (e.g. Bulk Import). This property specifies the maximum number of threads in a ThreadPool in the Manager that will be used to request these refresh operations.
type: COUNT, zk mutable: yes, default value: 10
manager.tablet.refresh.threads.mininum Available since: 4.0.0
The Manager will notify TabletServers that a Tablet needs to be refreshed after certain operations are performed (e.g. Bulk Import). This property specifies the number of core threads in a ThreadPool in the Manager that will be used to request these refresh operations.
type: COUNT, zk mutable: yes, default value: 10
manager.tablet.watcher.interval Available since: 2.1.2
Time to wait between scanning tablet states to identify tablets that need to be assigned, un-assigned, migrated, etc.
type: TIMEDURATION, zk mutable: yes, default value: 60s
manager.tablet.watcher.scan.threads.max Available since: 4.0.0
Maximum number of threads the TabletGroupWatcher will use in its BatchScanner to look for tablets that need maintenance.
type: COUNT, zk mutable: yes, default value: 16
manager.wal.closer.implementation Available since: 2.1.0
A class that implements a mechanism to steal write access to a write-ahead log.
type: CLASSNAME, zk mutable: yes, default value: org.apache.accumulo.server.manager.recovery.HadoopLogCloser
monitor.* Available since: 1.3.5
Properties in this category affect the behavior of the monitor web server.
monitor.dead.server.rg.exclusions Available since: 4.0.0
The Monitor displays information about servers that it believes have died recently. This property accepts a comma separated list of resource group names. If the dead servers resource group matches a resource group in this list, then it will be suppressed from the dead servers list in the monitor.
type: STRING, zk mutable: no, default value: empty
monitor.fetch.timeout Available since: 4.0.0
The Monitor fetches information for display in a set of background threads. This property controls the amount of time that process should wait before cancelling any remaining tasks to fetch information. These background threads could end up waiting on servers to respond or for scans to complete.
type: TIMEDURATION, zk mutable: no, default value: 5m
monitor.lock.check.interval Available since: 1.5.1
The amount of time to sleep between checking for the Monitor ZooKeeper lock.
type: TIMEDURATION, zk mutable: no, default value: 5s
monitor.port.client Available since: 1.3.5
The listening port for the monitor’s http service.
type: PORT, zk mutable: no, default value: 9995
monitor.resources.external Available since: 2.0.0
A JSON Map of Strings. Each String should be an HTML tag of an external resource (JS or CSS) to be imported by the Monitor. Be sure to wrap with CDATA tags. If this value is set, all of the external resources in the <head> tag of the Monitor will be replaced with the tags set here. Be sure the jquery tag is first since other scripts will depend on it. The resources that are used by default can be seen in accumulo/server/monitor/src/main/resources/templates/default.ftl.
type: JSON, zk mutable: no, default value: empty
monitor.ssl.exclude.ciphers Available since: 1.6.1
A comma-separated list of disallowed SSL Ciphers, see monitor.ssl.include.ciphers to allow ciphers.
type: STRING, zk mutable: no, default value: empty
monitor.ssl.include.ciphers Available since: 1.6.1
A comma-separated list of allows SSL Ciphers, see monitor.ssl.exclude.ciphers to disallow ciphers.
type: STRING, zk mutable: no, default value: empty
monitor.ssl.include.protocols Available since: 1.5.3
A comma-separate list of allowed SSL protocols.
type: STRING, zk mutable: no, default value: TLSv1.3
monitor.ssl.keyPassword Available since: 1.9.3
Optional: the password for the private key in the keyStore. When not provided, this defaults to the keystore password.
type: STRING, zk mutable: no, default value: empty
monitor.ssl.keyStore Available since: 1.5.0
The keystore for enabling monitor SSL.
type: PATH, zk mutable: no, default value: empty
monitor.ssl.keyStorePassword Available since: 1.5.0
The keystore password for enabling monitor SSL.
type: STRING, zk mutable: no, default value: empty
monitor.ssl.keyStoreType Available since: 1.7.0
Type of SSL keystore.
type: STRING, zk mutable: no, default value: jks
monitor.ssl.trustStore Available since: 1.5.0
The truststore for enabling monitor SSL.
type: PATH, zk mutable: no, default value: empty
monitor.ssl.trustStorePassword Available since: 1.5.0
The truststore password for enabling monitor SSL.
type: STRING, zk mutable: no, default value: empty
monitor.ssl.trustStoreType Available since: 1.7.0
Type of SSL truststore.
type: STRING, zk mutable: no, default value: jks
rpc.* Available since: 1.6.0
Properties in this category related to the configuration of SSL keys for RPC. See also instance.ssl.enabled.
rpc.backlog Available since: 2.1.3
Configures the TCP backlog for the server side sockets created by Thrift. This property is not used for SSL type server sockets. A value of zero will use the Thrift default value.
type: COUNT, zk mutable: no, default value: 50
rpc.javax.net.ssl.keyStore Available since: 1.6.0
Path of the keystore file for the server’s private SSL key.
type: PATH, zk mutable: no, default value: empty
rpc.javax.net.ssl.keyStorePassword Available since: 1.6.0
Password used to encrypt the SSL private keystore. Leave blank to use the Accumulo instance secret.
type: STRING, zk mutable: no, default value: empty
rpc.javax.net.ssl.keyStoreType Available since: 1.6.0
Type of SSL keystore.
type: STRING, zk mutable: no, default value: jks
rpc.javax.net.ssl.trustStore Available since: 1.6.0
Path of the truststore file for the root cert.
type: PATH, zk mutable: no, default value: empty
rpc.javax.net.ssl.trustStorePassword Available since: 1.6.0
Password used to encrypt the SSL truststore. Leave blank to use no password.
type: STRING, zk mutable: no, default value: empty
rpc.javax.net.ssl.trustStoreType Available since: 1.6.0
Type of SSL truststore.
type: STRING, zk mutable: no, default value: jks
rpc.message.size.max Available since: 2.1.3
The maximum size of a message that can be received by a server.
type: BYTES, zk mutable: no, default value: 2147483647
rpc.sasl.qop Available since: 1.7.0
The quality of protection to be used with SASL. Valid values are ‘auth’, ‘auth-int’, and ‘auth-conf’.
type: STRING, zk mutable: no, default value: auth
rpc.ssl.cipher.suites Available since: 1.6.1
Comma separated list of cipher suites that can be used by accepted connections.
type: STRING, zk mutable: no, default value: empty
rpc.ssl.client.protocol Available since: 1.6.2
The protocol used to connect to a secure server. Must be in the list of enabled protocols on the server side rpc.ssl.server.enabled.protocols.
type: STRING, zk mutable: no, default value: TLSv1.3
rpc.ssl.server.enabled.protocols Available since: 1.6.2
Comma separated list of protocols that can be used to accept connections.
type: STRING, zk mutable: no, default value: TLSv1.3
rpc.useJsse Available since: 1.6.0
Use JSSE system properties to configure SSL rather than the rpc.javax.net.ssl.* Accumulo properties.
type: BOOLEAN, zk mutable: no, default value: false
split.* Available since: 3.1.0
System wide properties related to splitting tablets.
split.files.max Available since: 3.1.0
To find a tablets split points, all RFiles are opened and their indexes are read. This setting determines how many RFiles can be opened at once. When there are more RFiles than this setting the tablet will be marked as un-splittable.
type: COUNT, zk mutable: no, default value: 300
sserver.* Available since: 2.1.0
Properties in this category affect the behavior of the scan servers.
sserver.cache.data.size Available since: 2.1.0
Specifies the size of the cache for RFile data blocks on each scan server.
type: MEMORY, zk mutable: yes but requires restart of the sserver, default value: 10%
sserver.cache.index.size Available since: 2.1.0
Specifies the size of the cache for RFile index blocks on each scan server.
type: MEMORY, zk mutable: yes but requires restart of the sserver, default value: 25%
sserver.cache.metadata.expiration Available since: 2.1.0
The time after which cached tablet metadata will be expired if not previously refreshed.
type: TIMEDURATION, zk mutable: yes but requires restart of the sserver, default value: 5m
sserver.cache.metadata.refresh.percent Available since: 2.1.3
The time after which cached tablet metadata will be refreshed, expressed as a percentage of the expiration time. Cache hits after this time, but before the expiration time, will trigger a background refresh for future hits. Value must be less than 100%. Set to 0 will disable refresh.
type: FRACTION, zk mutable: yes, default value: .75
sserver.cache.summary.size Available since: 2.1.0
Specifies the size of the cache for summary data on each scan server.
type: MEMORY, zk mutable: yes but requires restart of the sserver, default value: 10%
sserver.default.blocksize Available since: 2.1.0
Specifies a default blocksize for the scan server caches.
type: BYTES, zk mutable: yes but requires restart of the sserver, default value: 1M
sserver.group Available since: 3.0.0
Resource group name for this ScanServer. Resource groups support at least two use cases: dedicating resources to scans and/or using different hardware for scans. Clients can configure the ConfigurableScanServerSelector to specify the resource group to use for eventual consistency scans.
type: STRING, zk mutable: yes, default value: default
sserver.port.client Available since: 2.1.0
The port used for handling client connections on the tablet servers.
type: PORT, zk mutable: yes but requires restart of the sserver, default value: 9996
sserver.port.search Available since: 2.1.0
if the sserver.port.client ports are in use, search higher ports until one is available.
type: BOOLEAN, zk mutable: yes but requires restart of the sserver, default value: true
sserver.scan.executors.* Available since: 2.1.0
Prefix for defining executors to service scans. See scan executors for an overview of why and how to use this property. For each executor the number of threads, thread priority, and an optional prioritizer can be configured. To configure a new executor, set sserver.scan.executors.<name>.threads=<number>. Optionally, can also set sserver.scan.executors.<name>.priority=<number 1 to 10>, sserver.scan.executors.<name>.prioritizer=<class name>, and sserver.scan.executors.<name>.prioritizer.opts.<key>=<value>.
sserver.scan.executors.default.prioritizer Available since: 2.1.0
Prioritizer for the default scan executor. Defaults to none which results in FIFO priority. Set to a class that implements org.apache.accumulo.core.spi.scan.ScanPrioritizer to configure one.
type: STRING, zk mutable: yes, default value: empty
sserver.scan.executors.default.threads Available since: 2.1.0
The number of threads for the scan executor that tables use by default.
type: COUNT, zk mutable: yes, default value: 16
sserver.scan.executors.meta.threads Available since: 2.1.0
The number of threads for the metadata table scan executor.
type: COUNT, zk mutable: yes, default value: 8
sserver.scan.reference.expiration Available since: 2.1.0
The amount of time a scan reference is unused before its deleted from metadata table.
type: TIMEDURATION, zk mutable: yes but requires restart of the sserver, default value: 5m
sserver.server.threadcheck.time Available since: 2.1.0
The time between adjustments of the thrift server thread pool.
type: TIMEDURATION, zk mutable: yes, default value: 1s
sserver.server.threads.minimum Available since: 2.1.0
The minimum number of threads to use to handle incoming requests.
type: COUNT, zk mutable: yes but requires restart of the sserver, default value: 20
sserver.server.threads.timeout Available since: 2.1.0
The time after which incoming request threads terminate with no work available. Zero (0) will keep the threads alive indefinitely.
type: TIMEDURATION, zk mutable: yes but requires restart of the sserver, default value: 0s
sserver.wal.sort.concurrent.max Available since: 4.0.0
The maximum number of threads to use to sort logs during recovery.
type: COUNT, zk mutable: yes, default value: 2
table.* Available since: 1.3.5
Properties in this category affect tablet server treatment of tablets, but can be configured on a per-table basis. Setting these properties in accumulo.properties will override the default globally for all tables and not any specific table. However, both the default and the global setting can be overridden per table using the table operations API or in the shell, which sets the overridden value in zookeeper. Restarting accumulo tablet servers after setting these properties in accumulo.properties will cause the global setting to take effect. However, you must use the API or the shell to change properties in zookeeper that are set on a table.
table.balancer Available since: 1.3.5
This property can be set to allow the LoadBalanceByTable load balancer to change the called Load Balancer for this table.
type: STRING, zk mutable: yes, default value: org.apache.accumulo.core.spi.balancer.SimpleLoadBalancer
table.bloom.enabled Available since: 1.3.5
Use bloom filters on this table.
type: BOOLEAN, zk mutable: yes, default value: false
table.bloom.error.rate Available since: 1.3.5
Bloom filter error rate.
type: FRACTION, zk mutable: yes, default value: 0.5%
table.bloom.hash.type Available since: 1.3.5
The bloom filter hash type.
type: STRING, zk mutable: yes, default value: murmur
table.bloom.key.functor Available since: 1.3.5
A function that can transform the key prior to insertion and check of bloom filter. org.apache.accumulo.core.file.keyfunctor.RowFunctor, org.apache.accumulo.core.file.keyfunctor.ColumnFamilyFunctor, and org.apache.accumulo.core.file.keyfunctor.ColumnQualifierFunctor are allowable values. One can extend any of the above mentioned classes to perform specialized parsing of the key.
type: CLASSNAME, zk mutable: yes, default value: org.apache.accumulo.core.file.keyfunctor.RowFunctor
table.bloom.load.threshold Available since: 1.3.5
This number of seeks that would actually use a bloom filter must occur before a RFile’s bloom filter is loaded. Set this to zero to initiate loading of bloom filters when a RFile is opened.
type: COUNT, zk mutable: yes, default value: 1
table.bloom.size Available since: 1.3.5
Bloom filter size, as number of keys.
type: COUNT, zk mutable: yes, default value: 1048576
table.bulk.max.tablet.files Available since: 4.0.0
The maximum number of files a bulk import can add to a single tablet. When this property is exceeded for any tablet the entire bulk import operation will fail before making any changes. Value of 0 is unlimited.
type: COUNT, zk mutable: yes, default value: 100
table.bulk.max.tablets Available since: 2.1.0
The maximum number of tablets allowed for one bulk import file. Value of 0 is Unlimited.
type: COUNT, zk mutable: yes, default value: 100
table.bulk.metadata.skip.distance Available since: 2.1.4
When performing bulk v2 imports to a table, the Manager iterates over the tables metadata tablets sequentially. When importing files into a small table or into all or a majority of tablets of a large table then the tablet metadata information for most tablets will be needed. However, when importing files into a small number of non-contiguous tablets in a large table, then the Manager will look at each tablets metadata when it could be skipped. The value of this property tells the Manager if, and when, it should set up a new scanner over the metadata table instead of just iterating over tablet metadata to find the matching tablet. Setting up a new scanner is analogous to performing a seek in an iterator, but it has a cost. A value of zero (default) disables this feature. A non-zero value enables this feature and the Manager will setup a new scanner when the tablet metadata distance is above the supplied value.
type: COUNT, zk mutable: yes, default value: 0
table.cache.block.enable Available since: 1.3.5
Determines whether data block cache is enabled for a table.
type: BOOLEAN, zk mutable: yes, default value: false
table.cache.index.enable Available since: 1.3.5
Determines whether index block cache is enabled for a table.
type: BOOLEAN, zk mutable: yes, default value: true
table.class.loader.context Available since: 2.1.0
The context to use for loading per-table resources, such as iterators from the configured factory in general.context.class.loader.factory.
type: STRING, zk mutable: yes, default value: empty
table.compaction.configurer Available since: 2.1.0
A plugin that can dynamically configure compaction output files based on input files.
type: CLASSNAME, zk mutable: yes, default value: empty
table.compaction.configurer.opts.* Available since: 2.1.0
Options for the table compaction configuror.
table.compaction.dispatcher Available since: 2.1.0
A configurable dispatcher that decides what compaction service a table should use.
type: CLASSNAME, zk mutable: yes, default value: org.apache.accumulo.core.spi.compaction.SimpleCompactionDispatcher
table.compaction.dispatcher.opts.* Available since: 2.1.0
Options for the table compaction dispatcher.
table.compaction.input.drop.cache Available since: 2.1.4
FSDataInputStream.setDropBehind(true) is set on compaction input streams for the specified type of files. This tells the DataNode to advise the OS that it does not need to keep blocks for the associated file in the page cache. ‘ALL’, the default, will call setDropBehind on all file types. ‘NONE’ will call setDropBehind on none of the files, which can be useful when a table is cloned. ‘NON-IMPORT’ will call setDropBehind on all file types except those that are bulk imported, which is useful when bulk import files are mapped to many tablets and will be compacted at different times.
type: DROP_CACHE_SELECTION, zk mutable: yes, default value: ALL
table.compaction.major.output.drop.cache Available since: 2.1.1
Setting this property to true will callFSDataOutputStream.setDropBehind(true) on the major compaction output stream.
type: BOOLEAN, zk mutable: yes, default value: false
table.compaction.major.ratio Available since: 1.3.5
Minimum ratio of total input size to maximum input RFile size for running a major compaction.
type: FRACTION, zk mutable: yes, default value: 3
table.compaction.minor.age Available since: 3.1.0
Key values written to a tablet are temporarily stored in a per tablet in memory map. When the age of the oldest key value in a tablets in memory map exceeds this configuration, then a minor compaction may be initiated. This determines the maximum amount of time new data can be buffered in memory before being flushed to a file. This is useful when using scan servers in conjunction with the property sserver.cache.metadata.expiration. These two properties together can be used to control that amount of time it takes for a scan server to see a write to a tablet server. The default value of this property is set to such a high value that is should never cause a minor compaction.
type: TIMEDURATION, zk mutable: yes, default value: 10m
table.compaction.minor.output.drop.cache Available since: 2.1.1
Setting this property to true will callFSDataOutputStream.setDropBehind(true) on the minor compaction output stream.
type: BOOLEAN, zk mutable: yes, default value: false
table.compaction.selection.expiration.ms Available since: 2.1.0
User compactions select files and are then queued for compaction, preventing these files from being used in system compactions. This timeout allows system compactions to cancel the hold queued user compactions have on files, when its queued for more than the specified time. If a system compaction cancels a hold and runs, then the user compaction can reselect and hold files after the system compaction runs.
type: TIMEDURATION, zk mutable: yes, default value: 2m
table.constraint.* Available since: 1.3.5
Properties in this category are per-table properties that add constraints to a table. These properties start with the category prefix, followed by a number, and their values correspond to a fully qualified Java class that implements the Constraint interface.
For example:
table.constraint.1 = org.apache.accumulo.core.constraints.MyCustomConstraint
and:
table.constraint.2 = my.package.constraints.MySecondConstraint.
table.crypto.opts.* Experimental
Available since: 2.1.0
Properties related to on-disk file encryption.
table.crypto.opts.sensitive.* Experimental
Available since: 2.1.0
Sensitive properties related to on-disk file encryption.
table.custom.* Available since: 1.7.0
Prefix to be used for user defined arbitrary properties.
table.delete.behavior Experimental
Available since: 2.0.0
This determines what action to take when a delete marker is seen. Valid values are process and fail with process being the default. When set to process, deletes will suppress data. When set to fail, any deletes seen will cause an exception. The purpose of fail is to support tables that never delete data and need fast seeks within the timestamp range of a column. When setting this to fail, also consider configuring the org.apache.accumulo.core.data.constraints.NoDeleteConstraint constraint.
type: STRING, zk mutable: yes, default value: process
table.durability Available since: 1.7.0
The durability used to write to the write-ahead log. Legal values are: none, which skips the write-ahead log; log, which sends the data to the write-ahead log, but does nothing to make it durable; flush, which pushes data to the file system; and sync, which ensures the data is written to disk.
type: DURABILITY, zk mutable: yes, default value: sync
table.failures.ignore Available since: 1.3.5
If you want queries for your table to hang or fail when data is missing from the system, then set this to false. When this set to true missing data will be reported but queries will still run possibly returning a subset of the data.
type: BOOLEAN, zk mutable: yes, default value: false
table.file.blocksize Available since: 1.3.5
The HDFS block size used when writing RFiles. When set to 0B, the value/defaults of HDFS property ‘dfs.block.size’ will be used.
type: BYTES, zk mutable: yes, default value: 0B
table.file.compress.blocksize Available since: 1.3.5
The maximum size of data blocks in RFiles before they are compressed and written.
type: BYTES, zk mutable: yes, default value: 100k
table.file.compress.blocksize.index Available since: 1.4.0
The maximum size of index blocks in RFiles before they are compressed and written.
type: BYTES, zk mutable: yes, default value: 128k
table.file.compress.type Available since: 1.3.5
Compression algorithm used on index and data blocks before they are written. Possible values: zstd, gz, snappy, bzip2, lzo, lz4, none.
type: STRING, zk mutable: yes, default value: gz
table.file.max Available since: 1.4.0
This property is used to signal to the compaction planner that it should be more aggressive for compacting tablets that exceed this limit. The RatioBasedCompactionPlanner will lower the compaction ratio and increase the priority for tablets that exceed this limit. When adjusting this property you may want to consider adjusting table.compaction.major.ratio also. Setting this property to 0 will make it default to tserver.scan.files.open.max-1, this will prevent a tablet from having more RFiles than can be opened by a scan.
type: COUNT, zk mutable: yes, default value: 15
table.file.pause Available since: 4.0.0
When a tablet has more than this number of files, bulk imports and minor compactions will wait until the tablet has less files before proceeding. This will cause back pressure on bulk imports and writes to tables when compactions are not keeping up. Only the number of files a tablet currently has is considered for pausing, the number of files a bulk import will add is not considered. This means a bulk import can surge above this limit once causing future bulk imports or minor compactions to pause until compactions can catch up. This property plus table.bulk.max.tablet.files determines the total number of files a tablet could temporarily surge to based on bulk imports. Ideally this property would be set higher than table.file.max so that compactions are more aggressive prior to reaching the pause point. Value of 0 is unlimited.
type: COUNT, zk mutable: yes, default value: 100
table.file.replication Available since: 1.3.5
The number of replicas for a table’s RFiles in HDFS. When set to 0, HDFS defaults are used.
type: COUNT, zk mutable: yes, default value: 0
table.file.summary.maxSize Available since: 2.0.0
The maximum size summary that will be stored. The number of RFiles that had summary data exceeding this threshold is reported by Summary.getFileStatistics().getLarge(). When adjusting this consider the expected number RFiles with summaries on each tablet server and the summary cache size.
type: BYTES, zk mutable: yes, default value: 256k
table.file.type Available since: 1.3.5
Change the type of file a table writes.
type: FILENAME_EXT, zk mutable: yes, default value: rf
table.formatter Available since: 1.4.0
The Formatter class to apply on results in the shell.
type: STRING, zk mutable: yes, default value: org.apache.accumulo.core.util.format.DefaultFormatter
table.group.* Available since: 1.3.5
Properties in this category are per-table properties that define locality groups in a table. These properties start with the category prefix, followed by a name, followed by a period, and followed by a property for that group.
For example table.group.group1=x,y,z sets the column families for a group called group1. Once configured, group1 can be enabled by adding it to the list of groups in the table.groups.enabled property.
Additional group options may be specified for a named group by setting table.group.<name>.opt.<key>=<value>.
table.groups.enabled Available since: 1.3.5
A comma separated list of locality group names to enable for this table.
type: STRING, zk mutable: yes, default value: empty
table.iterator.* Available since: 1.3.5
Properties in this category specify iterators that are applied at various stages (scopes) of interaction with a table. These properties start with the category prefix, followed by a scope (minc, majc, scan, etc.), followed by a period, followed by a name, as in table.iterator.scan.vers, or table.iterator.scan.custom. The values for these properties are a number indicating the ordering in which it is applied, and a class name such as:
table.iterator.scan.vers = 10,org.apache.accumulo.core.iterators.VersioningIterator
These iterators can take options if additional properties are set that look like this property, but are suffixed with a period, followed by ‘opt’ followed by another period, and a property name.
For example, table.iterator.minc.vers.opt.maxVersions = 3.
table.iterator.majc.* Available since: 1.5.2
Convenience prefix to find options for the majc iterator scope.
table.iterator.minc.* Available since: 1.5.2
Convenience prefix to find options for the minc iterator scope.
table.iterator.scan.* Available since: 1.5.2
Convenience prefix to find options for the scan iterator scope.
table.merge.file.max Available since: 4.0.0
The maximum number of files that a merge operation will process. Before merging a sum of the number of files in the merge range is computed and if it exceeds this configuration then the merge will error and fail. For example if there are 100 tablets each having 10 files in the merge range, then the sum would be 1000 and the merge will only proceed if this property is greater than 1000.
type: COUNT, zk mutable: yes, default value: 10000
table.mergeability.threshold Available since: 4.0.0
A range of tablets are eligible for automatic merging until the combined size of RFiles reaches this percentage of the split threshold.
type: FRACTION, zk mutable: yes, default value: .25
table.sampler Available since: 1.8.0
The name of a class that implements org.apache.accumulo.core.Sampler. Setting this option enables storing a sample of data which can be scanned. Always having a current sample can useful for query optimization and data comprehension. After enabling sampling for an existing table, a compaction is needed to compute the sample for existing data. The compact command in the shell has an option to only compact RFiles without sample data.
type: CLASSNAME, zk mutable: yes, default value: empty
table.sampler.opt.* Available since: 1.8.0
The property is used to set options for a sampler. If a sample had two options like hasher and modulous, then the two properties table.sampler.opt.hasher=${hash algorithm} and table.sampler.opt.modulous=${mod} would be set.
table.scan.dispatcher Available since: 2.0.0
This class is used to dynamically dispatch scans to configured scan executors. Configured classes must implement ScanDispatcher. See scan executors for an overview of why and how to use this property. This property is ignored for the root and metadata table. The metadata table always dispatches to a scan executor named meta.
type: CLASSNAME, zk mutable: yes, default value: org.apache.accumulo.core.spi.scan.SimpleScanDispatcher
table.scan.dispatcher.opts.* Available since: 2.0.0
Options for the table scan dispatcher.
table.scan.max.memory Available since: 1.3.5
The maximum amount of memory that will be used to cache results of a client query/scan. Once this limit is reached, the buffered data is sent to the client.
type: BYTES, zk mutable: yes, default value: 512k
table.security.scan.visibility.default Available since: 1.3.5
The security label that will be assumed at scan time if an entry does not have a visibility expression.
Note: An empty security label is displayed as []. The scan results will show an empty visibility even if the visibility from this setting is applied to the entry.
CAUTION: If a particular key has an empty security label AND its table’s default visibility is also empty, access will ALWAYS be granted for users with permission to that table. Additionally, if this field is changed, all existing data with an empty visibility label will be interpreted with the new label on the next scan.
type: STRING, zk mutable: yes, default value: empty
table.split.endrow.size.max Available since: 1.7.0
Maximum size of end row.
type: BYTES, zk mutable: yes, default value: 10k
table.split.threshold Available since: 1.3.5
A tablet is split when the combined size of RFiles exceeds this amount.
type: BYTES, zk mutable: yes, default value: 1G
table.summarizer.* Available since: 2.0.0
Prefix for configuring summarizers for a table. Using this prefix multiple summarizers can be configured with options for each one. Each summarizer configured should have a unique id, this id can be anything. To add a summarizer set table.summarizer.<unique id>=<summarizer class name>. If the summarizer has options, then for each option set table.summarizer.<unique id>.opt.<key>=<value>.
table.suspend.duration Available since: 1.8.0
For tablets belonging to this table: When a tablet server dies, allow the tablet server this duration to revive before reassigning its tablets to other tablet servers.
type: TIMEDURATION, zk mutable: yes, default value: 0s
tserver.* Available since: 1.3.5
Properties in this category affect the behavior of the tablet servers.
tserver.assignment.concurrent.max Available since: 1.7.0
The number of threads available to load tablets. Recoveries are still performed serially.
type: COUNT, zk mutable: yes, default value: 2
tserver.assignment.duration.warning Available since: 1.6.2
The amount of time an assignment can run before the server will print a warning along with the current stack trace. Meant to help debug stuck assignments.
type: TIMEDURATION, zk mutable: yes, default value: 10m
tserver.bloom.load.concurrent.max Available since: 1.3.5
The number of concurrent threads that will load bloom filters in the background. Setting this to zero will make bloom filters load in the foreground.
type: COUNT, zk mutable: yes, default value: 4
tserver.cache.data.size Available since: 1.3.5
Specifies the size of the cache for RFile data blocks.
type: MEMORY, zk mutable: yes but requires restart of the tserver, default value: 10%
tserver.cache.index.size Available since: 1.3.5
Specifies the size of the cache for RFile index blocks.
type: MEMORY, zk mutable: yes but requires restart of the tserver, default value: 25%
tserver.cache.summary.size Available since: 2.0.0
Specifies the size of the cache for summary data on each tablet server.
type: MEMORY, zk mutable: yes but requires restart of the tserver, default value: 10%
tserver.client.timeout Available since: 1.3.5
Time to wait for clients to continue scans before closing a session.
type: TIMEDURATION, zk mutable: yes, default value: 3s
tserver.compaction.minor.concurrent.max Available since: 1.3.5
The maximum number of concurrent minor compactions for a tablet server.
type: COUNT, zk mutable: yes, default value: 4
tserver.conditionalupdate.threads.meta Available since: 4.0.0
Numbers of threads for executing conditional updates on the metadata table.
type: COUNT, zk mutable: yes, default value: 64
tserver.conditionalupdate.threads.root Available since: 4.0.0
Numbers of threads for executing conditional updates on the root table.
type: COUNT, zk mutable: yes, default value: 16
tserver.conditionalupdate.threads.user Available since: 4.0.0
Numbers of threads for executing conditional updates on user tables.
type: COUNT, zk mutable: yes, default value: 64
tserver.default.blocksize Available since: 1.3.5
Specifies a default blocksize for the tserver caches.
type: BYTES, zk mutable: yes but requires restart of the tserver, default value: 1M
tserver.dir.memdump Available since: 1.3.5
A long running scan could possibly hold memory that has been minor compacted. To prevent this, the in memory map is dumped to a local file and the scan is switched to that local file. We can not switch to the minor compacted file because it may have been modified by iterators. The file dumped to the local dir is an exact copy of what was in memory.
type: PATH, zk mutable: yes, default value: /tmp
tserver.files.open.idle Available since: 1.3.5
Tablet servers leave previously used RFiles open for future queries. This setting determines how much time an unused RFile should be kept open until it is closed.
type: TIMEDURATION, zk mutable: yes, default value: 1m
tserver.group Available since: 4.0.0
Resource group name for this TabletServer. Resource groups can be defined to dedicate resources to specific tables (e.g. balancing tablets for table(s) within a group, see TableLoadBalancer).
type: STRING, zk mutable: yes, default value: default
tserver.hold.time.max Available since: 1.4.0
The maximum time for a tablet server to be in the “memory full” state. If the tablet server cannot write out memory in this much time, it will assume there is some failure local to its node, and quit. A value of zero is equivalent to forever.
type: TIMEDURATION, zk mutable: yes, default value: 5m
tserver.log.busy.tablets.count Available since: 1.10.0
Number of busiest tablets to log. Logged at interval controlled by tserver.log.busy.tablets.interval. If <= 0, logging of busy tablets is disabled.
type: COUNT, zk mutable: yes, default value: 0
tserver.log.busy.tablets.interval Available since: 1.10.0
Time interval between logging out busy tablets information.
type: TIMEDURATION, zk mutable: yes, default value: 1h
tserver.memory.maps.max Available since: 1.3.5
Maximum amount of memory that can be used to buffer data written to a tablet server. There are two other properties that can effectively limit memory usage table.compaction.minor.logs.threshold and tserver.wal.max.size. Ensure that table.compaction.minor.logs.threshold * tserver.wal.max.size >= this property. This map is created in off-heap memory when TSERV_NATIVEMAP_ENABLED is enabled.
type: MEMORY, zk mutable: yes, default value: 33%
tserver.memory.maps.native.enabled Available since: 1.3.5
An off-heap in-memory data store for accumulo implemented in c++ that increases the amount of data accumulo can hold in memory and avoids Java GC pauses.
type: BOOLEAN, zk mutable: yes but requires restart of the tserver, default value: true
tserver.migrations.concurrent.max Available since: 1.3.5
The maximum number of concurrent tablet migrations for a tablet server.
type: COUNT, zk mutable: yes, default value: 1
tserver.ondemand.tablet.unloader Available since: 4.0.0
The class that will be used to determine which on-demand Tablets to unload.
type: CLASSNAME, zk mutable: yes, default value: org.apache.accumulo.core.spi.ondemand.DefaultOnDemandTabletUnloader
tserver.ondemand.tablet.unloader.interval Available since: 4.0.0
The interval at which the TabletServer will check if on-demand tablets can be unloaded.
type: TIMEDURATION, zk mutable: yes, default value: 10m
tserver.port.client Available since: 1.3.5
The port used for handling client connections on the tablet servers.
type: PORT, zk mutable: yes but requires restart of the tserver, default value: 9997
tserver.port.search Available since: 1.3.5
if the tserver.port.client ports are in use, search higher ports until one is available.
type: BOOLEAN, zk mutable: yes but requires restart of the tserver, default value: true
tserver.scan.executors.* Available since: 2.0.0
Prefix for defining executors to service scans. See scan executors for an overview of why and how to use this property. For each executor the number of threads, thread priority, and an optional prioritizer can be configured. To configure a new executor, set tserver.scan.executors.<name>.threads=<number>. Optionally, can also set tserver.scan.executors.<name>.priority=<number 1 to 10>, tserver.scan.executors.<name>.prioritizer=<class name>, and tserver.scan.executors.<name>.prioritizer.opts.<key>=<value>.
tserver.scan.executors.default.prioritizer Available since: 2.0.0
Prioritizer for the default scan executor. Defaults to none which results in FIFO priority. Set to a class that implements org.apache.accumulo.core.spi.scan.ScanPrioritizer to configure one.
type: STRING, zk mutable: yes, default value: empty
tserver.scan.executors.default.threads Available since: 2.0.0
The number of threads for the scan executor that tables use by default.
type: COUNT, zk mutable: yes, default value: 16
tserver.scan.executors.meta.threads Available since: 2.0.0
The number of threads for the metadata table scan executor.
type: COUNT, zk mutable: yes, default value: 8
tserver.scan.files.open.max Available since: 1.4.0
Maximum total RFiles that all tablets in a tablet server can open for scans.
type: COUNT, zk mutable: yes but requires restart of the tserver, default value: 100
tserver.scan.results.max.timeout Available since: 2.1.0
Max time for the thrift client handler to wait for scan results before timing out.
type: TIMEDURATION, zk mutable: yes, default value: 1s
tserver.server.threadcheck.time Available since: 1.4.0
The time between adjustments of the server thread pool.
type: TIMEDURATION, zk mutable: yes, default value: 1s
tserver.server.threads.minimum Available since: 1.4.0
The minimum number of threads to use to handle incoming requests.
type: COUNT, zk mutable: yes but requires restart of the tserver, default value: 20
tserver.server.threads.timeout Available since: 2.1.0
The time after which incoming request threads terminate with no work available. Zero (0) will keep the threads alive indefinitely.
type: TIMEDURATION, zk mutable: yes but requires restart of the tserver, default value: 0s
tserver.session.idle.max Available since: 1.3.5
When a tablet server’s SimpleTimer thread triggers to check idle sessions, this configurable option will be used to evaluate scan sessions to determine if they can be closed due to inactivity.
type: TIMEDURATION, zk mutable: yes, default value: 1m
tserver.session.update.idle.max Available since: 1.6.5
When a tablet server’s SimpleTimer thread triggers to check idle sessions, this configurable option will be used to evaluate update sessions to determine if they can be closed due to inactivity.
type: TIMEDURATION, zk mutable: yes, default value: 1m
tserver.slow.filepermit.time Available since: 1.9.3
If a thread blocks more than this period of time waiting to get file permits, debugging information will be written.
type: TIMEDURATION, zk mutable: yes, default value: 100ms
tserver.slow.flush.time Available since: 1.8.0
If a flush to the write-ahead log takes longer than this period of time, debugging information will written, and may result in a log rollover.
type: TIMEDURATION, zk mutable: yes, default value: 100ms
tserver.summary.partition.threads Available since: 2.0.0
Summary data must be retrieved from RFiles. For a large number of RFiles, the files are broken into partitions of 100k files. This setting determines how many of these groups of 100k RFiles will be processed concurrently.
type: COUNT, zk mutable: yes, default value: 10
tserver.summary.remote.threads Available since: 2.0.0
For a partitioned group of 100k RFiles, those files are grouped by tablet server. Then a remote tablet server is asked to gather summary data. This setting determines how many concurrent request are made per partition.
type: COUNT, zk mutable: yes, default value: 128
tserver.summary.retrieval.threads Available since: 2.0.0
The number of threads on each tablet server available to retrieve summary data, that is not currently in cache, from RFiles.
type: COUNT, zk mutable: yes, default value: 10
tserver.total.mutation.queue.max Available since: 1.7.0
The amount of memory used to store write-ahead-log mutations before flushing them.
type: MEMORY, zk mutable: yes, default value: 5%
tserver.wal.blocksize Available since: 1.5.0
The size of the HDFS blocks used to write to the Write-Ahead log. If zero, it will be 110% of tserver.wal.max.size (that is, try to use just one block).
type: BYTES, zk mutable: yes, default value: 0
tserver.wal.max.age Available since: 2.1.0
The maximum age for each write-ahead log.
type: TIMEDURATION, zk mutable: yes, default value: 24h
tserver.wal.max.referenced Available since: 2.1.0
When a tablet server has more than this many write ahead logs, any tablet referencing older logs over this threshold is minor compacted. Also any tablet referencing this many logs or more will be compacted.
type: COUNT, zk mutable: yes, default value: 3
tserver.wal.max.size Available since: 2.1.0
The maximum size for each write-ahead log. See comment for property tserver.memory.maps.max.
type: BYTES, zk mutable: yes, default value: 1G
tserver.wal.maximum.wait.duration Available since: 2.1.0
The maximum amount of time to wait after a failure to create or write a write-ahead log.
type: TIMEDURATION, zk mutable: yes, default value: 5m
tserver.wal.replication Available since: 1.5.0
The replication to use when writing the Write-Ahead log to HDFS. If zero, it will use the HDFS default replication setting.
type: COUNT, zk mutable: yes, default value: 0
tserver.wal.sort.buffer.size Available since: 2.1.0
The amount of memory to use when sorting logs during recovery.
type: MEMORY, zk mutable: yes, default value: 10%
tserver.wal.sort.concurrent.max Available since: 2.1.0
The maximum number of threads to use to sort logs during recovery.
type: COUNT, zk mutable: yes, default value: 2
tserver.wal.sort.file.* Available since: 2.1.0
The rfile properties to use when sorting logs during recovery. Most of the properties that begin with ‘table.file’ can be used here. For example, to set the compression of the sorted recovery files to snappy use ‘tserver.wal.sort.file.compress.type=snappy’.
tserver.wal.sync Available since: 1.5.0
Use the SYNC_BLOCK create flag to sync WAL writes to disk. Prevents problems recovering from sudden system resets.
type: BOOLEAN, zk mutable: yes, default value: true
tserver.wal.tolerated.creation.failures Available since: 2.1.0
The maximum number of failures tolerated when creating a new write-ahead log. Negative values will allow unlimited creation failures. Exceeding this number of failures consecutively trying to create a new write-ahead log causes the TabletServer to exit.
type: COUNT, zk mutable: yes, default value: 50
tserver.wal.tolerated.wait.increment Available since: 2.1.0
The amount of time to wait between failures to create or write a write-ahead log.
type: TIMEDURATION, zk mutable: yes, default value: 1000ms

Property Types

Type Description
duration A non-negative integer optionally followed by a unit of time (whitespace disallowed), as in 30s.
If no unit of time is specified, seconds are assumed. Valid units are ‘ms’, ‘s’, ‘m’, ‘h’ for milliseconds, seconds, minutes, and hours.
Examples of valid durations are ‘600’, ’30s’, ‘45m’, ‘30000ms’, ‘3d’, and ‘1h’.
Examples of invalid durations are ‘1w’, ‘1h30m’, ‘1s 200ms’, ‘ms’, ‘’, and ‘a’.
Unless otherwise stated, the max value for the duration represented in milliseconds is 9223372036854775807
bytes A positive integer optionally followed by a unit of memory (whitespace disallowed).
If no unit is specified, bytes are assumed. Valid units are ‘B’, ‘K’, ‘M’ or ‘G’ for bytes, kilobytes, megabytes, gigabytes.
Examples of valid memories are ‘1024’, ‘20B’, ‘100K’, ‘1500M’, ‘2G’, ‘20%’.
Examples of invalid memories are ‘1M500K’, ‘1M 2K’, ‘1MB’, ‘1.5G’, ‘1,024K’, ‘’, and ‘a’.
Unless otherwise stated, the max value for the memory represented in bytes is 9223372036854775807
memory A positive integer optionally followed by a unit of memory or a percentage (whitespace disallowed).
If a percentage is specified, memory will be a percentage of the max memory allocated to a Java process (set by the JVM option -Xmx).
If no unit is specified, bytes are assumed. Valid units are ‘B’, ‘K’, ‘M’, ‘G’, ‘%’ for bytes, kilobytes, megabytes, gigabytes, and percentage.
Examples of valid memories are ‘1024’, ‘20B’, ‘100K’, ‘1500M’, ‘2G’, ‘20%’.
Examples of invalid memories are ‘1M500K’, ‘1M 2K’, ‘1MB’, ‘1.5G’, ‘1,024K’, ‘’, and ‘a’.
Unless otherwise stated, the max value for the memory represented in bytes is 9223372036854775807
host list A comma-separated list of hostnames or ip addresses, with optional port numbers.
Examples of valid host lists are ‘localhost:2000,www.example.com,10.10.1.1:500’ and ‘localhost’.
Examples of invalid host lists are ‘’, ‘:1000’, and ‘localhost:80000’
port An positive integer in the range 1024-65535 (not already in use or specified elsewhere in the configuration),
zero to indicate any open ephemeral port, or a range of positive integers specified as M-N
count A non-negative integer in the range of 0-2147483647
fraction/percentage A floating point number that represents either a fraction or, if suffixed with the ‘%’ character, a percentage.
Examples of valid fractions/percentages are ‘10’, ‘1000%’, ‘0.05’, ‘5%’, ‘0.2%’, ‘0.0005’.
Examples of invalid fractions/percentages are ‘’, ‘10 percent’, ‘Hulk Hogan’
path A string that represents a filesystem path, which can be either relative or absolute to some directory. The filesystem depends on the property. Substitutions of the ACCUMULO_HOME environment variable can be done in the system config file using ‘${env:ACCUMULO_HOME}’ or similar.
drop cache option One of ‘ALL’, ‘NONE’, or ‘NON-IMPORT’
absolute path An absolute filesystem path. The filesystem depends on the property. This is the same as path, but enforces that its root is explicitly specified.
java class A fully qualified java class name representing a class on the classpath.
An example is ‘java.lang.String’, rather than ‘String’
java class list A list of fully qualified java class names representing classes on the classpath.
An example is ‘java.lang.String’, rather than ‘String’
durability One of ‘none’, ‘log’, ‘flush’ or ‘sync’.
gc_post_action One of ‘none’, ‘flush’, or ‘compact’.
string An arbitrary string of characters whose format is unspecified and interpreted based on the context of the property to which it applies.
json An arbitrary string that represents a valid, parsable generic json object. The validity of the json object in the context of the property usage is not checked by this type.
boolean Has a value of either ‘true’ or ‘false’ (case-insensitive)
uri A valid URI
file name extension One of the currently supported filename extensions for storing table data files. Currently, only rf is supported.
volumes See instance.volumes documentation
fate user config An arbitrary string that: 1. Represents a valid, parsable generic json object. 2. the keys of the json are strings which contain a comma-separated list of fate operations. 3. the values of the json are integers which represent the number of threads assigned to the fate operations. 4. all possible user fate operations are present in the json. 5. no fate operations are repeated.
fate meta config An arbitrary string that: 1. Represents a valid, parsable generic json object. 2. the keys of the json are strings which contain a comma-separated list of fate operations. 3. the values of the json are integers which represent the number of threads assigned to the fate operations. 4. all possible meta fate operations are present in the json. 5. no fate operations are repeated.
(deprecated) Manager FATE thread pool size No format check. Allows any value to be set but will warn the user that the property is no longer used.
Find documentation for all releases in the archive Edit this page