On 2/22/2013 4:57 AM, ipuskaric wrote:
I need two Solr servers, both acting as 'real' Master.
They need to be able to receive updates and to be used for querying, because
when one server is down, second has to be able to work alone... and when the
second is up again he needs to synchronize with first one.

As I understand the best way to do this is by SolrCloud, because real
Master/Master can't be done with SolrReplication features prior Solr4
(Master/Slave/Repeater)?

Do I need to have 3 ZooKeepers for this to work, because with 2 ZooKeepers,
when one server is down, second one can not handle updates, only querying?
Summary:
Is the right configuration: 2(3) servers, 1 shard, 2 replicas, 3 zookeepers?

SolrCloud is the only good option when you don't want permanent master/slave designations. It is a true cluster, there is no master or slave. You can send queries or updates to any server in the cluster and they will be distributed everywhere they need to go. For client applications written in Java, the SolrJ package includes a CloudSolrServer object that talks to zookeeper so it always knows the state of the cluster.

Zookeeper should be standalone for optimal operation. Although Solr has the option of running an embedded zookeeper, that is really only meant for testbed operation, it is not recommended for production. Three zookeeper instance are required for a zookeeper ensemble -- one can go down and it is still fully functional.

I have a similar setup to the one you want to build - two solr servers, 1 shard. I run two of the zookeeper instances on the same hardware as Solr, but as a separate process from Solr, and a third instance on a very inexpensive server.

Thanks,
Shawn

Reply via email to