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