Convert instance directories to configs

Cloudera Search supports converting existing deployments that use instance directories to use configs. This allows you to implement access control using ZooKeeper Access Control Lists and Ranger.

  1. Create a temporary config based on the existing instance directory.
    solrctl config --create <new_config_temp> <existing_instancedir> \
    -p immutable=false
    For example, if the instance directory name is weblogs_config:
    solrctl config --create weblogs_config_temp weblogs_config \
    -p immutable=false
  2. Delete the existing instance directory.
    solrctl instancedir --delete <existing_instancedir>
    For example:
    solrctl instancedir --delete weblogs_config
  3. Create a config using the same name as the instance directory you just deleted, based on the temporary config you created earlier.
    solrctl config --create <new_config> <new_config_temp> \
    -p immutable=false
    For example:
    solrctl config --create weblogs_config weblogs_config_temp \
    -p immutable=false
  4. Delete the temporary config:
    solrctl config --delete <new_config_temp>
    For example:
    solrctl config --delete weblogs_config_temp
  5. Reload the affected collection:
    solrctl collection --reload <collection>
    For example:
    solrctl collection --reload weblogs