You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by rg...@apache.org on 2015/11/09 00:26:15 UTC

svn commit: r1713322 - in /zookeeper/branches/branch-3.4: CHANGES.txt docs/zookeeperAdmin.html docs/zookeeperStarted.html

Author: rgs
Date: Sun Nov  8 23:26:15 2015
New Revision: 1713322

URL: http://svn.apache.org/viewvc?rev=1713322&view=rev
Log:
ZOOKEEPER-2240: Make the three-node minimum more explicit in documentation
and on website (Shawn Heisey via rgs)

Modified:
    zookeeper/branches/branch-3.4/CHANGES.txt
    zookeeper/branches/branch-3.4/docs/zookeeperAdmin.html
    zookeeper/branches/branch-3.4/docs/zookeeperStarted.html

Modified: zookeeper/branches/branch-3.4/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/CHANGES.txt?rev=1713322&r1=1713321&r2=1713322&view=diff
==============================================================================
--- zookeeper/branches/branch-3.4/CHANGES.txt (original)
+++ zookeeper/branches/branch-3.4/CHANGES.txt Sun Nov  8 23:26:15 2015
@@ -185,6 +185,9 @@ IMPROVEMENTS:
   ZOOKEEPER-2315: Change client connect zk service timeout log level from Info
   to Warn level (Lin Yiqun via rgs)
 
+  ZOOKEEPER-2240: Make the three-node minimum more explicit in documentation
+  and on website (Shawn Heisey via rgs)
+
 NEW FEATURES:
 
   ZOOKEEPER-2237 Port async multi to 3.4 branch (Ivan Kelly via rakeshr)

Modified: zookeeper/branches/branch-3.4/docs/zookeeperAdmin.html
URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/docs/zookeeperAdmin.html?rev=1713322&r1=1713321&r2=1713322&view=diff
==============================================================================
--- zookeeper/branches/branch-3.4/docs/zookeeperAdmin.html (original)
+++ zookeeper/branches/branch-3.4/docs/zookeeperAdmin.html Sun Nov  8 23:26:15 2015
@@ -437,6 +437,27 @@ document.write("Last Published: " + docu
       only handle the failure of a single machine; if two machines fail, the
       remaining two machines do not constitute a majority. However, with five
       machines ZooKeeper can handle the failure of two machines. </p>
+
+<div class="note">
+<div class="label">Note</div>
+<div class="content">
+<p>As mentioned in the Getting Started guide, a minimum of three servers are
+      required for a fault tolerant clustered setup, and it is strongly
+      recommended that you have an odd number of servers.</p>
+<p>Usually three servers is more than enough for a production install, but
+      for maximum reliability during maintenance, you may wish to install
+      five servers.  With three servers, if you perform maintenance on
+      one of them, you are vulnerable to a failure on one of the other
+      two servers during that maintenance.  If you have five of them
+      running, you can take one down for maintenance, and know that
+      you're still OK if one of the other four suddenly fails.</p>
+<p>Your redundancy considerations should include all aspects of your
+      environment.  If you have three zookeeper servers, but their
+      network cables are all plugged into the same network switch, then
+      the failure of that switch will take down your entire ensemble.</p>
+</div>
+</div>
+
 <p>Here are the steps to setting a server that will be part of an
       ensemble. These steps should be performed on every host in the
       ensemble:</p>

Modified: zookeeper/branches/branch-3.4/docs/zookeeperStarted.html
URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/docs/zookeeperStarted.html?rev=1713322&r1=1713321&r2=1713322&view=diff
==============================================================================
--- zookeeper/branches/branch-3.4/docs/zookeeperStarted.html (original)
+++ zookeeper/branches/branch-3.4/docs/zookeeperStarted.html Sun Nov  8 23:26:15 2015
@@ -533,8 +533,23 @@ numChildren = 0
       ZooKeeper in replicated mode. A replicated group of servers in the same
       application is called a <em>quorum</em>, and in replicated
       mode, all servers in the quorum have copies of the same configuration
-      file. The file is similar to the one used in standalone mode, but with a
-      few differences. Here is an example:</p>
+      file.</p>
+
+<div class="note">
+<div class="label">Note</div>
+<div class="content">
+<p>For replicated mode, a minimum of three servers are required, and it is
+      strongly recommended that you have an odd number of servers.  If you
+      only have two servers, then you are in a situation where if one of
+      them fails, there are not enough machines to form a majority quorum.
+      Two servers is inherently <strong>less</strong> stable than a single
+      server, because there are two single points of failure.</p>
+</div>
+</div>
+
+<p>The required <strong>conf/zoo.cfg</strong> file for replicated mode is
+      similar to the one used in standalone mode, but with a few differences.
+      Here is an example:</p>
 <pre class="code">
 tickTime=2000
 dataDir=/var/lib/zookeeper
@@ -583,7 +598,15 @@ server.3=zoo3:2888:3888
         (in the above replicated example, running on a
         single <em>localhost</em>, you would still have
         three config files).</p>
-      
+
+<p>Please be aware that setting up multiple servers on a single machine
+        will not create any redundancy.  If something were to happen
+        which caused the machine to die, all of the zookeeper servers
+        would be offline.  Full redundancy requires that each server have
+        its own machine.  It must be a completely separate physical server.
+        Multiple virtual machines on the same physical host are still
+        vulnerable to the complete failure of that host.</p>
+
 </div>
 </div>
 <a name="Other+Optimizations"></a>