On 11/22/2012 2:18 AM, Luis Cappa Banda wrote:
I´ve been dealing with the same question these days. In architecture terms,
it´s always better to separate services (Solr and Zookeeper, in this case)
rather to keep them in a single instance. However, when we have to deal
with costs issues, all of use we are quite limitated and we must elect the
best architecture/scalable/single point of failure option. As I see, the
options are:
*1. *Solr servers with Zookeeper embeded.
*2. *Solr servers with external Zookeeper.
*3.* Solr servers with external Zookeeper ensemble.
I've never used SolrCloud, so this is all speculation based on what I've
been reading. That has been mostly on this list, but also on dev@l.o
and the IRC channel.
I have a four-node Solr 3.5 deployment with about 80 million documents
(130GB) in the distributed index. I think of my installation as small.
Others might disagree with my opinion, but I know there are a lot of
indexes out there that make mine look tiny.
If I needed to set a similarly small setup with SolrCloud on four Solr
servers, what I would pitch to management would be one extra machine
(cheap, 1U, low-end processor, etc) to act as a standalone zookeeper
node. For the other two zookeper instances, I would run standalone
zookeeper (separate JVM from Solr) on two of the Solr servers. I might
ask for a small boost in RAM and/or CPU on the two servers that serve
double-duty. I would not run zookeeper in the same JVM as Solr.
With a little bit of growth in the cluster, I would ask for a second
standalone zookeeper node, pulling zookeeper off one of the Solr
servers. If it continued to grow, then I would ask for the third. I
would leave blank spots in the rack for those standalone servers.
Thanks,
Shawn