The figure below shows a default installation of Exalead CloudView, where the primary server is responsible for processing documents, generating the index, and processing user queries.
High Availability with a Small Index
The following examples show how to get search high availability by adding at least one secondary server housing a search server and index. We assume that the index is small enough to reside on a single host machine.
Recommended Deployment
In the scenario below, we use two search servers combined with external load balancers to improve QPS. It also shows how to set the deployment to handle search failover.
If you configure the load balancer to send queries to the primary server only when both secondary servers are unavailable, the primary server will less be used as a failover search server. It keeps the primary server largely dedicated to document processing.
Figure 2. How failover works for an HA deployment with a small index
1. Install Exalead CloudView as a primary server (single-host) installation.
In this example, we only reach partial high availability. There is no search redundancy as there is only one search server, and no load balancing of user queries. There is, however, a certain degree of high availability for the index, allowing query processing to continue even if the index on the secondary server is not available.
Important: Use this scenario when no load balancers are available.
Figure 3. Deployment without load balancers
1. Install Exalead CloudView as a primary server (single-host) installation.
This is the ideal deployment scenario. It provides both search redundancy and increased document processing throughput, with the addition of another build group.
Recommended Deployment
The addition of dedicated index servers further improves search high availability, as well as the load-balancing of queries. A second build group increases document processing volume.
The figures below show how failover works.
Figure 4. This full HA (with a large index) deployment has dedicated hosts just for the indexes, as well as an additional build group (it1) to scale document processing at index-time.
Figure 5. As long as an index is available on secondary servers for each build group, the load balancer can distribute queries without impacting the build group hosts (Master and Slave 1).
Figure 6. If the secondary servers’ indexes are not available for a build group, then the load balancer must send queries directly to the index on the build group host.
Important: When the primary server is off, you are still able to make queries on the secondary server, but page thumbnails and previews no longer display. This behavior is normal since both thumbnails and previews call the Connector Server to retrieve file content, and this server is only present in the primary server chain by default.
To make page thumbnails and previews available, the solution consists in deploying two full identical chains on both primary and secondary servers, with 1 Connector Server + 1 build group + 1 Search Server.
1. Install Exalead CloudView as a primary server (single-host) installation.
Warning: Only click Apply after you have configured all hosts. If you click Apply multiple times while adding roles, you get a warning stating that no connection can be made with the new hosts. This is because you have not yet run a slave Exalead CloudView installation for these new hosts.
5. Restart Exalead CloudView on the primary server.