Hi,

I have to set up a SOLR cluster with some availability concept (is allowed to 
require manual interaction on fault, however, if there is a better way, I'd be 
interested in recommendations).

I have two servers (A and B for the example) at my disposal.

What I was thinking about was the following setup:

Set up 2 SOLR Instances on each server, i.e.

on A)
- One master (active)
- One slave (always active) replicating index from the master using the 
mechanisms described in http://wiki.apache.org/solr/SolrReplication

on B)
- One master (active but not used for index updates) replicating index form the 
master on A
- One slave (always active) replicating index from the master on A

I'll write the configs with placeholders for properties for the address of the 
master server so I can start the slaves with the master on A or on B as the 
master to replicate from.

When B goes down, nothing happens as the slave on A is still there to serve 
queries as well as the master to serve update requests.

When A goes down updates will begin to fail but queries will still be served 
from the slave on B. A restart of B with the until then inactive master as 
master will bring index update functionality up again.

For simplicity's sake I did not mention any load-balancing or IP address 
switching stuff. I assume that I have to load-balance the access to the two 
slaves and make sure that when the master is switched to B that either it 
assumes the IP address or the clients updating the index need to be changed 
)the forme probably being simpler).

Now, my questions are:
- Will this work?
- Can this be simplified, i.e. does it make sense to have separate master/slave 
instances when they are on the same hardware or is it enough or even better to 
write the config of the slave on B so that it can be restarted in "master mode" 
based on the same index?

Thanks in advance,

Robert


Reply via email to