Skip to content

Allow for heterogeneous hardware clusters #1265

@alerman

Description

@alerman

Currently, when settings are set in the accumulo configs for tserver based properties they apply across the cluster. We are moving toward replacing clusters through rolling upgrades, and at any time may have different machine types running tservers at a given time. Right now that causes us to leave hardware idle because we cannot change settings on only a subset of tservers. Settings which we might want to change depending on the hardware a tserver is running on include, but are not limited to: tserver.cache.*.size, tserver.scan.files.open.max, tserver.compaction.major.concurrent.max etc.

The goal of this issue is to allow tservers running on nodes of a different hardware type to use class based overrides for tserver properties.

  • Add ability to add a tserver.class. property where the value is a regex that when matched will put the tserver in this class. EG: tserver.class.beefymachines=bigmachine.*
  • Add ability to add .tserver.[property] to override only for this class EG beefymachines.tserver.compaction.major.concurrent.max=10
  • Add ability to retrieve class of tserver from config shell command. EG: config --tserver bigMachine123 would print class: beefymachines and then the properties as overridden by that class
  • Add ability to retrieve config for a class of machine. EG config --tserver-class beefymachines

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions