Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Mirror of Apache Accumulo
Java C++ Python JavaScript Ruby Shell Other
Failed to load latest commit information.
assemble Merge branch '1.7'
contrib ACCUMULO-2606 Remove system-level packaging stuff
core Merge branch '1.7'
docs Merge branch '1.7'
examples/simple Merge branch '1.7'
fate ACCUMULO-3925 Wrap expected exceptions in a special class for better …
maven-plugin Merge branch '1.7'
minicluster ACCUMULO-3871 set the default class for the mrit jar, quit out of tes…
proxy ACCUMULO-3871 Roll mrit module into test
server Merge branch '1.7'
shell Merge branch '1.7'
src/site Merge branch '1.4.5-SNAPSHOT' into 1.5.1-SNAPSHOT
start Merge branch '1.7'
test ACCUMULO-3927 Commit checkstyle changes
trace Merge branch '1.7'
.gitignore ACCUMULO-2927 More targeted git ignores (per-module)
.travis.yml ACCUMULO-2959 Remove assemble profile activation.
DEPENDENCIES ACCUMULO-3800 Add DEPENDENCIES file ACCUMULO-1515 Reorganized README and converted to markdown
LICENSE Merge branch '1.6'
NOTICE Merge branch '1.6' ACCUMULO-3657 ACCUMULO-3548 Clarify Accumulo API ACCUMULO-3666 sudo to user running accumulo before start/stop ACCUMULO-3551 1.7 upgrade instructions.
pom.xml ACCUMULO-3907 Remove intermediate source tarball

Apache Accumulo

The Apache Accumulo™ sorted, distributed key/value store is a robust, scalable, high performance data storage and retrieval system. Apache Accumulo is based on Google's BigTable design and is built on top of Apache Hadoop, Zookeeper, and Thrift. Apache Accumulo features a few novel improvements on the BigTable design in the form of cell-based access control and a server-side programming mechanism that can modify key/value pairs at various points in the data management process. Other notable improvements and feature are outlined here.

To install and run an Accumulo binary distribution, follow the install instructions.


Accumulo provides the following documentation :

  • User Manual : In-depth developer and administrator documentation.
  • Examples : Code with corresponding readme files that give step by step instructions for running example code.

This documentation is available on the Accumulo site. In the source and binary distributions of Accumulo, the documentation is at different locations.

In the Accumulo binary distribution, all documentation is in the docs directory. The binary distribution does not include example source code, but it does include a jar with the compiled examples. This examples jar makes it easy to step through the example readmes, after following the install instructions.

In the Accumulo source, documentations is found at the following locations.


Accumulo uses Maven to compile, test, and package its source. The following command will build the binary tar.gz from source. Note, these instructions will not work for the Accumulo binary distribution as it does not include source.

mvn package -P assemble

This command produces a file at the following location.


This will not include documentation, adding the -P docs option to the maven command will build documentation.


The public Accumulo API is composed of :

All public types in the following packages and their subpackages excluding those named impl, thrift, or crypto.

  • org.apache.accumulo.core.client
  • org.apache.accumulo.minicluster

A type is a class, interface, or enum. Anything with public or protected acccess in an API type is in the API. This includes, but is not limited to: methods, members classes, interfaces, and enums. Package-private types in the above packages are not considered public API.

The following regex matches imports that are not Accumulo public API. This regex can be used with RegexpSingleline to automatically find suspicious imports in a project using Accumulo.


The Accumulo project maintains binary compatibility across this API within a major release, as defined in the Java Language Specification 3rd ed. Starting with Accumulo 1.6.2 and 1.7.0 all API changes will follow semver 2.0

Something went wrong with that request. Please try again.