Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-2802

Make per-service configuration easier


    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0
    • Component/s: gc, master, monitor, trace, tserver
    • Labels:


      Currently, all server configuration is stored in a monolithic xml file (accumulo-site.xml).

      We should support configuration scoped to the service it is intended to configure. That means, that there could be a separate configuration file for each service (gc.conf, tserver.conf, master.conf, monitor.conf, tracer.conf, etc.), which could be specified with a parameter to the service's main method (--config <file>) with a sensible default.

      Some shared configuration may still be necessary, but that can be easily satisfied by using commons-configuration, which supports include statements.

      Additionally, system properties should override the configuration file, and be interpolated into it. This can be easily achieved with commons-configuration's hierarchical configuration.

      A monolithic file could still be supported, if the individual files are concatenated. To ensure this is possible, the service-specific prefixes should remain, to distinguish between the scopes.

      Any implementation of this should be backwards compatible with the monolithic accumulo-site.xml.

      Some benefits of this:

      1. Consolidated configuration to a single file per service, instead of multiple command-line parameters per service.
      2. Allow non-XML configuration options.
      3. Move away from Hadoop libraries for parsing configuration.
      4. Allow starting multiple instances of the same service type with different configuration.




            • Assignee:
              ctubbsii Christopher Tubbs
            • Votes:
              0 Vote for this issue
              1 Start watching this issue


              • Created: