diff --git a/src/docbkx/zookeeper.xml b/src/docbkx/zookeeper.xml
index 78a8e4bbc36..d082efa0333 100644
--- a/src/docbkx/zookeeper.xml
+++ b/src/docbkx/zookeeper.xml
@@ -79,14 +79,14 @@
only but in production it is recommended that you run a
ZooKeeper ensemble of 3, 5 or 7 machines; the more members an
ensemble has, the more tolerant the ensemble is of host
- failures. Also, run an odd number of machines. In ZooKeeper,
- an even number of peers is supported, but it is normally not used
- because an even sized ensemble requires, proportionally, more peers
- to form a quorum than an odd sized ensemble requires. For example, an
- ensemble with 4 peers requires 3 to form a quorum, while an ensemble with
- 5 also requires 3 to form a quorum. Thus, an ensemble of 5 allows 2 peers to
- fail, and thus is more fault tolerant than the ensemble of 4, which allows
- only 1 down peer.
+ failures. Also, run an odd number of machines. In ZooKeeper,
+ an even number of peers is supported, but it is normally not used
+ because an even sized ensemble requires, proportionally, more peers
+ to form a quorum than an odd sized ensemble requires. For example, an
+ ensemble with 4 peers requires 3 to form a quorum, while an ensemble with
+ 5 also requires 3 to form a quorum. Thus, an ensemble of 5 allows 2 peers to
+ fail, and thus is more fault tolerant than the ensemble of 4, which allows
+ only 1 down peer.
Give each ZooKeeper server around 1GB of RAM, and if possible, its own
dedicated disk (A dedicated disk is the best thing you can do
@@ -137,6 +137,15 @@
</property>
...
</configuration>
+
+ ZooKeeper Maintenance
+ Be sure to set up the data dir cleaner described under
+ Zookeeper Maintenance else you could
+ have 'interesting' problems a couple of months in; i.e. zookeeper could start
+ dropping sessions if it has to run through a directory of hundreds of thousands of
+ logs which is wont to do around leader reelection time -- a process rare but run on
+ occasion whether because a machine is dropped or happens to hiccup.
+ Using existing ZooKeeper ensemble
@@ -173,12 +182,12 @@ ${HBASE_HOME}/bin/hbase-daemons.sh {start,stop} zookeeper
For more information about running a distinct ZooKeeper
cluster, see the ZooKeeper Getting
- Started Guide. Additionally, see the ZooKeeper Wiki or the
- ZooKeeper documentation
+ Started Guide. Additionally, see the ZooKeeper Wiki or the
+ ZooKeeper documentation
for more information on ZooKeeper sizing.
-
+
SASL Authentication with ZooKeeper
@@ -186,7 +195,7 @@ ${HBASE_HOME}/bin/hbase-daemons.sh {start,stop} zookeeper
support connecting to a ZooKeeper Quorum that supports
SASL authentication (which is available in Zookeeper
versions 3.4.0 or later).
-
+
This describes how to set up HBase to mutually
authenticate with a ZooKeeper Quorum. ZooKeeper/HBase
mutual authentication (
-
+
where the $PATH_TO_HBASE_KEYTAB and
$PATH_TO_ZOOKEEPER_KEYTAB files are what
you created above, and $HOST is the hostname for that
@@ -387,7 +396,7 @@ ${HBASE_HOME}/bin/hbase-daemons.sh {start,stop} zookeeper
};
- where the $PATH_TO_HBASE_KEYTAB is the keytab
+ where the $PATH_TO_HBASE_KEYTAB is the keytab
created above for HBase services to run on this host, and $HOST is the
hostname for that node. Put this in the HBase home's
configuration directory. We'll refer to this file's
@@ -453,7 +462,7 @@ ${HBASE_HOME}/bin/hbase-daemons.sh {start,stop} zookeeper
Start your Zookeepers on each Zookeeper Quorum host with:
-
+
SERVER_JVMFLAGS="-Djava.security.auth.login.config=$ZK_SERVER_CONF" bin/zkServer start
@@ -485,13 +494,13 @@ ${HBASE_HOME}/bin/hbase-daemons.sh {start,stop} zookeeper
11/12/05 22:43:39 INFO zookeeper.Login: TGT expires: Tue Dec 06 22:43:39 UTC 2011
11/12/05 22:43:39 INFO zookeeper.Login: TGT refresh sleeping until: Tue Dec 06 18:36:42 UTC 2011
..
-11/12/05 22:43:59 INFO auth.SaslServerCallbackHandler:
- Successfully authenticated client: authenticationID=hbase/ip-10-166-175-249.us-west-1.compute.internal@HADOOP.LOCALDOMAIN;
+11/12/05 22:43:59 INFO auth.SaslServerCallbackHandler:
+ Successfully authenticated client: authenticationID=hbase/ip-10-166-175-249.us-west-1.compute.internal@HADOOP.LOCALDOMAIN;
authorizationID=hbase/ip-10-166-175-249.us-west-1.compute.internal@HADOOP.LOCALDOMAIN.
11/12/05 22:43:59 INFO auth.SaslServerCallbackHandler: Setting authorizedID: hbase
11/12/05 22:43:59 INFO server.ZooKeeperServer: adding SASL authorization for authorizationID: hbase
-
+
@@ -524,7 +533,7 @@ ${HBASE_HOME}/bin/hbase-daemons.sh {start,stop} zookeeper
Linux AMI. First setup KDC and principals as
described above. Next checkout code and run a sanity
check.
-
+
git clone git://git.apache.org/hbase.git
cd hbase
@@ -552,7 +561,7 @@ ${HBASE_HOME}/bin/hbase-daemons.sh {start,stop} zookeeper
file with the version containing the HADOOP-7070 fix. You can use the following script to do this:
- echo `find ~/.m2 -name "*hadoop-core*7070*SNAPSHOT.jar"` ':' `cat target/cached_classpath.txt` | sed 's/ //g' > target/tmp.txt
+ echo `find ~/.m2 -name "*hadoop-core*7070*SNAPSHOT.jar"` ':' `cat target/cached_classpath.txt` | sed 's/ //g' > target/tmp.txt
mv target/tmp.txt target/cached_classpath.txt
@@ -562,19 +571,19 @@ ${HBASE_HOME}/bin/hbase-daemons.sh {start,stop} zookeeper
Set JAAS configuration
- programmatically
+ programmatically
This would avoid the need for a separate Hadoop jar
that fixes HADOOP-7070.
-
+
- Elimination of
- kerberos.removeHostFromPrincipal and
+ Elimination of
+ kerberos.removeHostFromPrincipal and
kerberos.removeRealmFromPrincipal
-
+