Details
-
New Feature
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.0.0
-
None
Description
While there are some Accumulo images on DockerHub, it looks the majority of the them are designed to run a single-node Accumulo instance in a Docker container for development and testing.
It would be great if Accumulo had an official image for running Accumulo processes in containers on a production cluster. The image could be be published as an official image 'apache/accumulo' to DockerHub.
In order to make this possible, I think work needs to be done to allow configuration to be passed to the Accumulo process in the docker container without using configuration files (as passing files to a running container is hard in Docker). One way to do this is to add an option called --upload-accumulo-site to 'accumulo init' command which is called outside of Docker by the user. This would set properties in accumulo-site.xml as system properties in Zookeeper during Accumulo initialization. Accumulo processes in Docker containers could be started with minimal configuration by updating 'accumulo <service>' commands to have a -o key=value option to override configuration. These changes to Accumulo would enable the following commands to start an Accumulo cluster in Docker:
accumulo init --upload-accumulo-site docker pull apache/accumulo docker run apache/accumulo master -o instance.zookeeper.host=zkhost:2181 docker run apache/accumulo tserver -o instance.zookeeper.host=zkhost:2181 docker run apache/accumulo monitor -o instance.zookeeper.host=zkhost:2181 docker run apache/accumulo tracer -o instance.zookeeper.host=zkhost:2181