#!/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. # Delete the groups and local files associated with a cluster. set -o errexit if [ -z $1 ]; then echo "Cluster name required!" exit -1 fi CLUSTER=$1 # Finding Hadoop clusters CLUSTERS=`ec2-describe-instances | \ awk '"RESERVATION" == $1 && $4 ~ /-master$/, "INSTANCE" == $1' | tr '\n' '\t' | \ grep "$CLUSTER" | grep running | cut -f4 | rev | cut -d'-' -f2- | rev` if [ -n "$CLUSTERS" ]; then echo "Cluster $CLUSTER has running instances. Please terminate them first." exit 0 fi # Import variables bin=`dirname "$0"` bin=`cd "$bin"; pwd` . "$bin"/hadoop-ec2-env.sh rm -f $MASTER_IP_PATH rm -f $MASTER_PRIVATE_IP_PATH if ec2-describe-group $CLUSTER_MASTER > /dev/null 2>&1; then if ec2-describe-group $CLUSTER > /dev/null 2>&1; then echo "Revoking authorization between $CLUSTER_MASTER and $CLUSTER" ec2-revoke $CLUSTER_MASTER -o $CLUSTER -u $AWS_ACCOUNT_ID || true ec2-revoke $CLUSTER -o $CLUSTER_MASTER -u $AWS_ACCOUNT_ID || true fi echo "Deleting group $CLUSTER_MASTER" ec2-delete-group $CLUSTER_MASTER fi if ec2-describe-group $CLUSTER > /dev/null 2>&1; then echo "Deleting group $CLUSTER" ec2-delete-group $CLUSTER fi