Return-Path: X-Original-To: apmail-zookeeper-commits-archive@www.apache.org Delivered-To: apmail-zookeeper-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8BB8FD662 for ; Sun, 17 Mar 2013 23:40:32 +0000 (UTC) Received: (qmail 49272 invoked by uid 500); 17 Mar 2013 23:40:32 -0000 Delivered-To: apmail-zookeeper-commits-archive@zookeeper.apache.org Received: (qmail 49247 invoked by uid 500); 17 Mar 2013 23:40:32 -0000 Mailing-List: contact commits-help@zookeeper.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ Delivered-To: mailing list commits@zookeeper.apache.org Received: (qmail 49236 invoked by uid 99); 17 Mar 2013 23:40:32 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 17 Mar 2013 23:40:32 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 17 Mar 2013 23:40:29 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id F077223888E7; Sun, 17 Mar 2013 23:40:07 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1457598 - in /zookeeper/bookkeeper/trunk: CHANGES.txt bookkeeper-server/bin/bookkeeper-cluster.sh Date: Sun, 17 Mar 2013 23:40:07 -0000 To: commits@zookeeper.apache.org From: sijie@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20130317234007.F077223888E7@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: sijie Date: Sun Mar 17 23:40:07 2013 New Revision: 1457598 URL: http://svn.apache.org/r1457598 Log: BOOKKEEPER-573: Script to start a bookkeeper cluster (ivank via sijie) Added: zookeeper/bookkeeper/trunk/bookkeeper-server/bin/bookkeeper-cluster.sh Modified: zookeeper/bookkeeper/trunk/CHANGES.txt Modified: zookeeper/bookkeeper/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/CHANGES.txt?rev=1457598&r1=1457597&r2=1457598&view=diff ============================================================================== --- zookeeper/bookkeeper/trunk/CHANGES.txt (original) +++ zookeeper/bookkeeper/trunk/CHANGES.txt Sun Mar 17 23:40:07 2013 @@ -48,6 +48,8 @@ Trunk (unreleased changes) BOOKKEEPER-585: Auditor logs noisily when a ledger has been deleted (ivank via sijie) + BOOKKEEPER-573: Script to start a bookkeeper cluster (ivank via sijie) + Release 4.2.0 - 2013-01-14 Non-backward compatible changes: Added: zookeeper/bookkeeper/trunk/bookkeeper-server/bin/bookkeeper-cluster.sh URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/bin/bookkeeper-cluster.sh?rev=1457598&view=auto ============================================================================== --- zookeeper/bookkeeper/trunk/bookkeeper-server/bin/bookkeeper-cluster.sh (added) +++ zookeeper/bookkeeper/trunk/bookkeeper-server/bin/bookkeeper-cluster.sh Sun Mar 17 23:40:07 2013 @@ -0,0 +1,135 @@ +#!/usr/bin/env bash +# +#/** +# * 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. +# */ + + +BINDIR=`dirname "$0"` +BK_HOME=`cd $BINDIR/..;pwd` +if [ -f $BK_HOME/conf/bkenv.sh ] +then + . $BK_HOME/conf/bkenv.sh +fi + +BKCFG=$BK_HOME/conf/bk_server.conf +CLUSTER=$BK_HOME/conf/bookies +usage() { + cat < /dev/null +} + +bookies_available() { + bookies_list | wc -l +} + +start() { + for B in `cat $CLUSTER`; do + echo "Starting bookie on $B" + ssh $B $BINDIR/bookkeeper-daemon.sh start bookie + done + + BOOKIESSTARTED=0 + COUNT=0 + + while [ $BOOKIESSTARTED -lt $NUMHOSTS ]; do + sleep 1 + COUNT=$(($COUNT+1)) + if [ $COUNT = 20 ]; then + echo "Could not start all bookies" + exit 1 + fi + + BOOKIESSTARTED=$(bookies_available) + + echo "$BOOKIESSTARTED bookies started" + done +} + +stop() { + for B in `cat $CLUSTER`; do + echo "Stopping bookie on $B" + ssh $B $BINDIR/bookkeeper-daemon.sh stop bookie $FORCE + done + + COUNT=0 + BOOKIESSTARTED=$NUMHOSTS + while [ $BOOKIESSTARTED -gt 0 ]; do + sleep 1 + + COUNT=$((COUNT+1)) + if [ $COUNT = 20 ]; then + echo "Couldn not stop all bookies. $BOOKIESSTARTED still running" + exit 2 + fi + + BOOKIESSTARTED=$(bookies_available) + done +} + +status() { + BOOKIESSTARTED=$(bookies_available) + echo "$BOOKIESSTARTED bookies running" + COUNT=1 + for b in $(bookies_list); do + echo "$COUNT: $b" + COUNT=$(($COUNT+1)) + done +} + +case $1 in + start) + start + ;; + stop) + stop + ;; + kill) + FORCE="-force" + stop + ;; + status) + status + ;; + *) + usage + ;; +esac