On 4/24/2015 4:54 AM, Kumaradas Puthussery Krishnadas wrote:
> I am creating a  SolrCloud with 4 solr instances and 5 zookeeper instances. I 
> need to make sure that querying is working even when my 3 zookeepers are 
> down. But it looks like the queries using json transformation based xslt 
> templates which is not available since the zookeeper ensemble is not 
> available.

Is it five zookeeper or three?  It sounds like you might have five, but
three of them are down for some reason.

When you have five zookeepers, you can lose two and maintain quorum.  If
you lose three, then zookeeper doesn't have enough nodes to work
properly, and SolrCloud will also stop normal operation.  This is a
fundamental property of zookeeper.  There must be a majority of nodes
operational -- more than half.

If you have three zookeepers, you can lose only one and still maintain
quorum.

Some information about zookeeper that isn't directly applicable to your
situation but may help explain why zookeeper behaves the way it does:
Exactly half of the total nodes is not enough.  If you have four
zookeepers, two is not enough for quorum, three of them must be
operational and able to communicate with each other.  This is to prevent
split-brain where two clusters are formed that cannot communicate with
each other but independently believe that they are the functional cluster.

> So is it possible to exclude files (eg: xslt folder) in the conf directory 
> from being loaded into Zookeeper rather point it to the filesystem so that 
> querying the solrcloud is not broken.

One of the major points of putting the config in zookeeper is to
centralize it and have zero reliance on local config files, which may be
different on each Solr instance.  Consider a cloud with five hundred
nodes.  A centralized config is the only way to be absolutely certain
that every node has the update.  You are welcome to file a feature
request in Jira for the capability you want, but you may encounter
resistance to actually getting it into Solr.

If you lose zookeeper quorum, then SolrCloud has no choice other than
stopping normal operation, to protect the integrity of the cloud.  Any
other action could lead to data loss.  Zookeeper is a fundamental part
of SolrCloud, so if your Zookeeper ensemble is not healthy, neither is
SolrCloud.

Thanks,
Shawn

Reply via email to