Accumulo has the following configuration files which can be found in the conf/
directory of the Accumulo release tarball.
accumulo.properties
The accumulo.properties file configures Accumulo server processes using server properties. This file can be found in the conf/
directory. It is needed on every host that runs Accumulo processes. Therefore, any configuration should be replicated to all hosts of the Accumulo cluster. If a property is not configured here, it might have been configured another way. See the quick start for help with configuring this file.
accumulo-client.properties
The accumulo-client.properties
file configures Accumulo client processes using client properties. If accumulo shell
is run without arguments, the Accumulo connection information in this file will be used. This file can be used to create an AccumuloClient in Java using the following code:
AccumuloClient client = Accumulo.newClient().from("/path/to/accumulo-client.properties").build();
See the quick start for help with configuring this file.
accumulo-env.sh
The accumulo-env.sh file configures the Java classpath and JVM options needed to run Accumulo processes. See the quick start for help with configuring this file.
Log configuration files
log4j2-service.properties
Since 2.1, the log4j2-service.properties file configures logging for most Accumulo services (i.e Manager, Tablet Server, Garbage Collector, Monitor). Prior to 2.1 this file was named log4j-service.properties
and did not apply to the Monitor which was configured in a separate log4j-monitor.properties
.
log4j2.properties
The log4j2.properties file configures logging for Accumulo commands (i.e accumulo init
, accumulo shell
, etc).
cluster.yaml
The accumulo-cluster
script uses the cluster.yaml
file to determine where Accumulo processes should be run. This file is not in the conf/
directory of the Accumulo release tarball by default. It can be created by running the command accumulo-cluster create-config
. The cluster.yaml
file contains the following sections:
gc
Contains a list of hosts where Garbage Collector processes should run. While only one host is needed, others can be specified to run standby Garbage Collectors that can take over if the lead Garbage Collector fails.
manager
Contains a list of hosts where Manager processes should run. While only one host is needed, others can be specified to run on standby Managers that can take over if the lead Manager fails.
monitor
Contains a list of hosts where Monitor processes should run. While only one host is needed, others can be specified to run standby Monitors that can take over if the lead Monitor fails.
tserver
Contains list of hosts where Tablet Server processes should run. While only one host is needed, it is recommended that multiple tablet servers are run for improved fault tolerance and performance.
sserver
Contains a list of hosts where ScanServer processes should run. While only one host is needed, it is recommended that multiple ScanServers are run for improved performance.
compaction coordinator
Contains a list of hosts where CompactionCoordinator processes should run. While only one host is needed, others can be specified to run standby CompactionCoordinators that can take over if the lead CompactionCoordinator fails.
compaction compactor
Contains a list of hosts where Compactor processes should run. While only one host is needed, it is recommended that multiple Compactors are run for improved external compaction performance.