ID: 5031

Setup of Curator with HADR

For an introduction to Curator and starting the service see the article on Curator Configuration. This article discusses the initial setup, and, the process for subsequent configuration of the Curator service when Zoom HADR is being used.

Zoom HADR provides High-Availability and Disaster Recovery using multiple Zoom servers. Similarly, multiple instances of the Curator service can be deployed, and, can be on different machines.

Further, different clusters of Zoom servers can use a different Curator service. This is especially useful when the clusters are geographically separated, and any search speed benefits may be overwhelmed by the time taken in network communication. It is also possible to set up some servers to use Curator, while others don’t use any Curator service. Similarly, only some Zoom servers could be set up to provide indexing data to Curator, while others still use Curator for searching.

Due to all this flexibility in setup, more care needs to be taken during configuration, to ensure that the setup design matches the expectation from the system.

  1. Stop the Curator service that is to be setup.
  2. Select any one Zoom server for performing the initial setup. This should preferably be the highest-priority server of the cluster designated for that Curator server.
    • Zoom servers could be divided into groups or clusters for each Curator server with some of the following guiding principles:
      • Geographically distant Zoom servers could be grouped separately.
      • Independently balance the required level of fault-tolerance or availability of the Curator service, with the number of server machines required for it. The Curator service could be treated as a less essential service, and hence be deployed on fewer number of machines.
      • The Curator service could also be associated one-to-one with every required Zoom Server. This will be similar to a non-HADR Curator setup, thus simplifying management.
  3. On this selected Zoom server, setup the Curator configuration by directly editing the server.xml in XML format, as described below.
    • Open the <ZOOM_INSTALL_DIR>/conf/server.xml of the Zoom server in a text editor.
    • In the editor, move to the ftsSpec section. Use the XML field reference for additional details.
    • Set the host tag value to the Curator service machine’s host name or IP.
      e.g. <host>zm04.company.local<host>
    • Set the solrDataDir tag value to the Curator service database directory; see the non-HADR configuration section for a detailed description.
    • Set the values of the sub-section hadrServers.
      • List each Zoom server which can be accessed by the Curator service for indexing.
      • Typically, every Zoom server within the cluster for the Curator server would get listed. Possible reasons for exclusion may be:
        • A Zoom server dedicated for Zoom users alone; no data requests from Curator.
        • A Zoom server deployed on a machine with very limited resources, which is designated only as an emergency backup server.
      • It is recommended to list these Zoom servers in decreasing order of their HADR priority.
    • Set any other fields, as may be required, such as:
    • Save the edited file.
  4. Copy the above configured server.xml, or, just the ftsSpec section to the Curator server’s <ZOOM_INSTALL_DIR>/conf/server.xml, in case it is deployed in a different location than the Zoom server.
  5. Copy just the ftsSpec section of the server.xml to the other Zoom servers of the cluster, replacing any pre-existing ftsSpec in their server.xml.
  6. Restart all the Zoom services of that cluster.
  7. Start the Curator service.

The curator configuration can be viewed in the Web-based Admin Console, as in the general Curator Configuration article. The configuration can also be edited from here.

However, additional steps must be taken for an HADR setup. These steps are described below.

  1. Select any one Zoom server from the cluster corresponding to the Curator server, preferably the highest-priority server within the cluster.
  2. Edit the Curator Configuration from the Web Admin Console of the above selected Zoom server.
  3. Open the <ZOOM_INSTALL_DIR>/conf/server.xml of the Zoom server in a text editor.
  4. Copy the above configured server.xml, or, just the ftsSpec section to the Curator server’s <ZOOM_INSTALL_DIR>/conf/server.xml, in case it is deployed in a different location than the Zoom server.
  5. Copy just the ftsSpec section of the server.xml to the other Zoom servers of the cluster, replacing any pre-existing ftsSpec in their server.xml.
  6. Restart all the Zoom services of that cluster.
  7. Restart the Curator service.

Alternatively, the configuration, including advanced parameters, can be edited directly in XML format as done during the first-time setup.

For the smooth functioning of the Curator Service, the following order is prescribed for starting and stopping the various Zoom services.

This is not essential for Curator functions.

This is only to prevent receiving warning log messages etc. about the unavailability of Zoom or Preview servers during planned events such as performing maintenance or changing configurations.

Starting order

  1. Start the Zoom service for all the servers of that Curator cluster.
  2. Start the Preview service for all the cluster servers.
  3. Start the Curator service.

Stopping order

  1. Stop the Curator service.
  2. Stop the Preview service for all the servers of that Curator cluster.
  3. Stop the Zoom service for all the cluster servers.
Whenever the Curator service starts, it will try to communicate with the first Zoom server in the list of hadrServers of the Curator config. If for any reason Curator fails to connect with that Zoom server, then similar attempts are made to connect with the other Zoom servers in the listed order; until there is a successful connection, or it fails for all the listed Zoom servers in that Curator’s cluster.