On 3/23/2015 7:19 AM, Nitin Solanki wrote:
> Thanks Shawn. It is working now as you said..  No need to switch to
> external zookeeper. It is also working in embedded zookeeper

Failures happen.  This is a reality of computer systems, and planning
for that failure is absolutely critical.  We can put a fair amount of
redundancy (multiple power supplies, multiple disks) in a single
machine, but it can still fail.

If the machine where you have embedded zookeeper fails, your entire
cloud is going to effectively go down, even if all the rest of your Solr
servers are still running.  It might still be possible to make queries,
but even if that's the case, you won't be able to update the index, and
if one of those remaining Solr instances were to stop, it would not
start up correctly without zookeeper.

A fault tolerant zookeeper ensemble consists of at least three machines,
and you need at least two machines for fault tolerance of Solr itself. 
That hardware can overlap, so a minimum of three servers is required for
redundancy.

You can't use only two machines for zookeeper, because you must have a
majority of the total number of servers up and running in order to form
a majority vote, and one of two doesn't qualify.  It's best if there is
an odd number ... if you have four total machines, a majority vote
requires three, so your fault tolerance is the same as with three machines.

Additionally, if zookeeper is not its own process, then the zookeeper
instance will stop whenever you stop that Solr instance.  That is
disruptive.

Thanks,
Shawn

Reply via email to