Managing Configuration Using Configs or Instance Directories

The solrctl utility includes the config and instancedir commands for managing configuration. Configs and instance directories refer to the same thing: named configuration sets used by collections, as specified by the solrctl collection --create -c <configName> command.

Although configs and instance directories are functionally identical from the perspective of the Solr server, there are a number of important administrative differences between these two implementations:

Table 1. Config and Instance Directory Comparison
Attribute Config Instance Directory
Security
  • In a Kerberos-enabled cluster, the ZooKeeper znodes associated with configurations created using the solrctl config command automatically have proper ZooKeeper ACLs.
  • No ZooKeeper security support. Any user can create, delete, or modify an instancedir directly in ZooKeeper.
  • Because instancedir updates ZooKeeper directly, it is the client's responsibility to add the proper ACLs, which can be cumbersome.
Creation method Generated from existing configs or instance directories in ZooKeeper using the ConfigSets API. Manually edited locally and re-uploaded directly to ZooKeeper using solrctl utility.
Template support
  • Several predefined templates are available. These can be used as the basis for creating additional configs. Additional templates can be created by creating configs that are immutable.
  • Mutable configs that use a managed schema can only be modified using the Schema API as opposed to being manually edited. As a result, configs are less flexible, but they are also less error-prone than instance directories.
One standard template.