<?xml version="1.0" encoding="iso-8859-1"?>
<document xmlns="http://maven.apache.org/XDOC/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->  
  <properties></properties>
  <body>
    <section name="Whirr&#153; in 5 minutes"></section>
    <p>The following commands install Whirr and start a 3 node ZooKeeper cluster on Amazon EC2 in 5
    minutes or less. You need to have Java 6 and an SSH client already installed. Help on finding
    your AWS credentials can be found in the 
    <a href="http://whirr.apache.org/faq.html#how-do-i-find-my-cloud-credentials">FAQ</a>.</p>
    <source>
export WHIRR_PROVIDER=aws-ec2
export WHIRR_IDENTITY=$AWS_ACCESS_KEY_ID
export WHIRR_CREDENTIAL=$AWS_SECRET_ACCESS_KEY
# or create ~/.whirr/credentials similar to conf/credentials.sample

curl -O http://www.apache.org/dist/whirr/whirr-0.9.0/whirr-0.9.0.tar.gz
tar zxf whirr-0.9.0.tar.gz; cd whirr-0.9.0 

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa_whirr 
bin/whirr launch-cluster --config recipes/zookeeper.properties --private-key-file ~/.ssh/id_rsa_whirr 

echo "ruok" | nc $(awk '{print $3}' ~/.whirr/zookeeper/instances | head -1) 2181; echo
</source>
    <p>Upon success you should see 
    <tt>imok</tt>echoed to the console, indicating that ZooKeeper is running.</p>
    <p>You can shut down the cluster with</p>
    <source>bin/whirr destroy-cluster --config recipes/zookeeper.properties --private-key-file ~/.ssh/id_rsa_whirr</source>
    <p>The various options are explained in more detail in the 
    <a href="quick-start-guide.html">Quick Start Guide</a>.</p>
  </body>
</document>
