

If you have 5 nodes, you could continue operating with two down nodes if necessary. However, if you have three ZooKeeper nodes and one goes down, you have 66% of your servers available and ZooKeeper will continue normally while you repair the one down node. Since this is not a majority, ZooKeeper will no longer serve requests. To explain why, think about this scenario: If you have two ZooKeeper nodes and one goes down, this means only 50% of available servers are available. To properly maintain a quorum, it’s highly recommended to have an odd number of ZooKeeper servers in your ensemble, so a majority is maintained.

To create a deployment that can tolerate the failure of F machines, you should count on deploying 2xF+1 machines. "For a ZooKeeper service to be active, there must be a majority of non-failing machines that can communicate with each other. When planning how many ZooKeeper nodes to configure, keep in mind that the main principle for a ZooKeeper ensemble is maintaining a majority of servers to serve requests. The first question to answer is the number of ZooKeeper nodes you will run in your ensemble. The solution to this problem is to set up an external ZooKeeper ensemble, which is a number of servers running ZooKeeper that communicate with each other to coordinate the activities of the cluster. While using Solr’s embedded ZooKeeper instance is fine for getting started, you shouldn’t use this in production because it does not provide any failover: if the Solr instance that hosts ZooKeeper shuts down, ZooKeeper is also shut down.Īny shards or Solr instances that rely on it will not be able to communicate with it or each other. Configuring jute.maxbuffer for ZooKeeper ClientsĪlthough Solr comes bundled with Apache ZooKeeper, you are strongly encouraged to use an external ZooKeeper setup in production.Configuring jute.maxbuffer on ZooKeeper Nodes.
