Support Accumulo 1.9 docker image
8 files changed
tree: 5b1afd6d14df173886bacef468d59ce7a0fc186b
  1. .gitignore
  2. CONTRIBUTING.md
  3. Dockerfile
  4. LICENSE
  5. NOTICE
  6. README.md
  7. accumulo-site.xml
  8. generic_logger.xml
  9. monitor_logger.xml
README.md

Apache Accumulo Docker Image

Obtain the Docker image

To obtain the docker image created by this project, you can either pull it from DockerHub at apache/accumulo or build it yourself. To pull the image from DockerHub, run the command below:

docker pull apache/accumulo

While it is easier to pull from DockerHub, the image will default to the software versions below:

SoftwareVersion
Accumulo1.9.3
Hadoop2.8.5
Zookeeper3.4.13

If these versions do not match what is running on your cluster, you should consider building your own image with matching versions. However, Accumulo must be 2.0.0+. Below are instructions for building an image:

  1. Clone the Accumulo docker repo

     git clone git@github.com:apache/accumulo-docker.git
    
  2. Build the default Accumulo docker image using the command below.

     cd /path/to/accumulo-docker
     docker build -t accumulo .
    

    Or build the Accumulo docker image with specific released versions of Hadoop, Zookeeper, etc that will downloaded from Apache using the command below:

     docker build --build-arg ZOOKEEPER_VERSION=3.4.8 --build-arg HADOOP_VERSION=2.7.0 -t accumulo .
    

    Or build with an Accumulo tarball (located in same directory as DockerFile) using the command below:

     docker build --build-arg ACCUMULO_VERSION=1.9.3-SNAPSHOT --build-arg ACCUMULO_FILE=accumulo-1.9.3-SNAPSHOT-bin.tar.gz -t accumulo .
    

Image basics

The entrypoint for the Accumulo docker image is the accumulo script. While the primary use case for this image is to start Accumulo processes (i.e tserver, master, etc), you can run other commands in the accumulo script to test out the image:

# No arguments prints Accumulo command usage
docker run accumulo
# Print Accumulo version
docker run accumulo version
# Print Accumulo classpath
docker run accumulo classpath