2009-11-14 09:11:53 -05:00
|
|
|
#!/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.
|
|
|
|
|
|
|
|
# Terminate a cluster.
|
|
|
|
|
|
|
|
if [ -z $1 ]; then
|
|
|
|
echo "Cluster name required!"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
CLUSTER=$1
|
|
|
|
|
|
|
|
# Import variables
|
|
|
|
bin=`dirname "$0"`
|
|
|
|
bin=`cd "$bin"; pwd`
|
|
|
|
. "$bin"/hbase-ec2-env.sh
|
|
|
|
|
|
|
|
# Finding HBase image
|
2009-11-17 03:00:24 -05:00
|
|
|
HBASE_INSTANCES=`ec2-describe-instances $TOOL_OPTS | awk '"RESERVATION" == $1 && ("'$CLUSTER'" == $4 || "'$CLUSTER_MASTER'" == $4 || "'$CLUSTER_ZOOKEEPER'" == $4), "RESERVATION" == $1 && ("'$CLUSTER'" != $4 && "'$CLUSTER_MASTER'" != $4 && "'$CLUSTER_ZOOKEEPER'" != $4)'`
|
2009-11-14 09:11:53 -05:00
|
|
|
HBASE_INSTANCES=`echo "$HBASE_INSTANCES" | grep INSTANCE | grep running`
|
|
|
|
|
|
|
|
[ -z "$HBASE_INSTANCES" ] && echo "No running instances in cluster $CLUSTER." && exit 0
|
|
|
|
|
|
|
|
echo "Running HBase instances:"
|
|
|
|
echo "$HBASE_INSTANCES"
|
|
|
|
read -p "Terminate all instances? [yes or no]: " answer
|
|
|
|
|
|
|
|
if [ "$answer" != "yes" ]; then
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2009-11-17 03:00:24 -05:00
|
|
|
ec2-terminate-instances $TOOL_OPTS `echo "$HBASE_INSTANCES" | awk '{print $2}'`
|
2010-03-15 20:19:09 -04:00
|
|
|
|
|
|
|
# clean up elastic IPs
|
2010-03-25 21:52:37 -04:00
|
|
|
if [ "$ENABLE_ELASTIC_IPS" = "true" ] ; then
|
|
|
|
# master
|
|
|
|
ec2-release-address $TOOL_OPTS `cat $MASTER_IP_PATH`
|
|
|
|
# zookeeper quorum ensemble
|
|
|
|
for addr in `cat $ZOOKEEPER_ADDR_PATH` ; do
|
|
|
|
ec2-release-address $TOOL_OPTS $addr
|
|
|
|
done
|
|
|
|
fi
|
2010-03-15 20:19:09 -04:00
|
|
|
|
|
|
|
# clean up state files
|
|
|
|
|
|
|
|
rm -f $ZOOKEEPER_ADDR_PATH $ZOOKEEPER_QUORUM_PATH
|
|
|
|
rm -f $MASTER_IP_PATH $MASTER_ADDR_PATH $MASTER_ZONE_PATH
|