Configure Solr Failover Slave for High Availability

When using Solr (we are currently using 3.5), how do we configure Masters to fail?

Let's say that in my installation I have two wizards and two slaves. The application captures all entries in "One Active Master", and both subordinates receive updates from this Active Master. There is another repeater that serves the same purpose of the Master.

Now my question is: if Master, for some reason, has gone down, how can I make a repeater as Master without manual intervention. As slaves begin to receive updates from a repeater instead of a broken master. Is there a recommended way to do this? Is there any other recommended Master / Slave setup for high availability Solr systems?

+4
source share
2 answers

Currently, your best bet is probably to investigate the functionality of SolrCloud present in the current Solr 4.0 alpha, which should have been released in a few months at the time of this writing. The goal of SolrCloud is to handle data distribution and master selections using the distributed ZooKeeper database to maintain consensus within the cluster about which nodes work during roles.

There are other traditional ways to configure fault tolerance for the Sol-3 replicated architecture, but I personally would not want to make this investment with Solr 4.0 so close to release.

Edit: See Linux-HA for one such traditional approach. Personally, I would create a specially created daemon that reconfigures your kernels and load balancer, using ZooKeeper to detect presence and distributed locks.

If outsourcing is an option, you might consider hosting a service such as my own humble Websolr . We provide this type of distribution and default failover mode, so our customers do not need to worry about the mechanism of how it is implemented.

+4
source

I agree with Nick. The replication method in Solr 3.x is not always convenient, especially for a wizard failure. If you are considering Solr 4, you can also take a look at elasticsearch, which solves such problems in a really brilliant way!

It uses push replication instead of the pull mechanism used by Solr. This means that the document is literally reindexed on all nodes. This may seem strange, but it can reduce the load on the network (for example, due to the merger of segments). In addition, a node is selected as the master, and if it fails, another node will automatically replace it with a new wizard.

+3
source

All Articles