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

Make per-service configuration easier

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.0.0
    • gc, master, monitor, trace, tserver
    • None

    Description

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            ctubbsii Christopher Tubbs
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: