HBASE 1961 HBase EC2 scripts; pass private key and cert path on command line to all tools in common variable
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@881183 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
8dd763874c
commit
4b9ae3c5a2
|
@ -41,7 +41,7 @@ bin=`cd "$bin"; pwd`
|
||||||
. "$bin"/hbase-ec2-env.sh
|
. "$bin"/hbase-ec2-env.sh
|
||||||
|
|
||||||
if [[ "$CLUSTER" = "i-*" ]]; then
|
if [[ "$CLUSTER" = "i-*" ]]; then
|
||||||
HOST=`ec2-describe-instances $CLUSTER | grep running | awk '{print $4}'`
|
HOST=`ec2-describe-instances $TOOL_OPTS $CLUSTER | grep running | awk '{print $4}'`
|
||||||
[ -z $HOST ] && echo "Instance still pending or no longer running: $CLUSTER" && exit 1
|
[ -z $HOST ] && echo "Instance still pending or no longer running: $CLUSTER" && exit 1
|
||||||
else
|
else
|
||||||
[ ! -f $MASTER_IP_PATH ] && echo "Wrong group name, or cluster not launched! $CLUSTER" && exit 1
|
[ ! -f $MASTER_IP_PATH ] && echo "Wrong group name, or cluster not launched! $CLUSTER" && exit 1
|
||||||
|
|
|
@ -29,20 +29,20 @@ bin=`cd "$bin"; pwd`
|
||||||
echo "INSTANCE_TYPE is $INSTANCE_TYPE."
|
echo "INSTANCE_TYPE is $INSTANCE_TYPE."
|
||||||
echo "ARCH is $ARCH."
|
echo "ARCH is $ARCH."
|
||||||
|
|
||||||
AMI_IMAGE=`ec2-describe-images -a | grep $S3_BUCKET | grep hbase | grep $HBASE_VERSION | grep $ARCH | grep available | awk '{print $2}'`
|
AMI_IMAGE=`ec2-describe-images $TOOL_OPTS -a | grep $S3_BUCKET | grep hbase | grep $HBASE_VERSION | grep $ARCH | grep available | awk '{print $2}'`
|
||||||
|
|
||||||
[ ! -z $AMI_IMAGE ] && echo "AMI already registered, use: ec2-deregister $AMI_IMAGE" && exit 1
|
[ ! -z $AMI_IMAGE ] && echo "AMI already registered, use: ec2-deregister $AMI_IMAGE" && exit 1
|
||||||
|
|
||||||
echo "Starting a AMI with ID $BASE_AMI_IMAGE."
|
echo "Starting a AMI with ID $BASE_AMI_IMAGE."
|
||||||
OUTPUT=`ec2-run-instances $BASE_AMI_IMAGE -k $KEY_NAME -t $INSTANCE_TYPE`
|
OUTPUT=`ec2-run-instances $BASE_AMI_IMAGE $TOOL_OPTS -k $KEY_NAME -t $INSTANCE_TYPE`
|
||||||
BOOTING_INSTANCE=`echo $OUTPUT | awk '{print $6}'`
|
BOOTING_INSTANCE=`echo $OUTPUT | awk '{print $6}'`
|
||||||
|
|
||||||
echo "Instance is $BOOTING_INSTANCE."
|
echo "Instance is $BOOTING_INSTANCE."
|
||||||
|
|
||||||
echo "Polling server status (ec2-describe-instances $BOOTING_INSTANCE)"
|
echo "Polling server status"
|
||||||
while true; do
|
while true; do
|
||||||
printf "."
|
printf "."
|
||||||
HOSTNAME=`ec2-describe-instances $BOOTING_INSTANCE | grep running | awk '{print $4}'`
|
HOSTNAME=`ec2-describe-instances $TOOL_OPTS $BOOTING_INSTANCE | grep running | awk '{print $4}'`
|
||||||
if [ ! -z $HOSTNAME ]; then
|
if [ ! -z $HOSTNAME ]; then
|
||||||
break;
|
break;
|
||||||
fi
|
fi
|
||||||
|
@ -72,6 +72,6 @@ scp $SSH_OPTS $EC2_CERT "root@$HOSTNAME:/mnt"
|
||||||
ssh $SSH_OPTS "root@$HOSTNAME" "sh -c \"INSTANCE_TYPE=$INSTANCE_TYPE /mnt/create-hbase-image-remote\""
|
ssh $SSH_OPTS "root@$HOSTNAME" "sh -c \"INSTANCE_TYPE=$INSTANCE_TYPE /mnt/create-hbase-image-remote\""
|
||||||
|
|
||||||
# Register image
|
# Register image
|
||||||
ec2-register $S3_BUCKET/hbase-$HBASE_VERSION-$ARCH.manifest.xml
|
ec2-register $TOOL_OPTS $S3_BUCKET/hbase-$HBASE_VERSION-$ARCH.manifest.xml
|
||||||
|
|
||||||
echo "Terminate with: ec2-terminate-instances $BOOTING_INSTANCE"
|
echo "Terminate with: ec2-terminate-instances $BOOTING_INSTANCE"
|
||||||
|
|
|
@ -24,8 +24,13 @@ fi
|
||||||
|
|
||||||
CLUSTER=$1
|
CLUSTER=$1
|
||||||
|
|
||||||
|
# Import variables
|
||||||
|
bin=`dirname "$0"`
|
||||||
|
bin=`cd "$bin"; pwd`
|
||||||
|
. "$bin"/hbase-ec2-env.sh
|
||||||
|
|
||||||
# Finding HBase clusters
|
# Finding HBase clusters
|
||||||
CLUSTERS=`ec2-describe-instances | \
|
CLUSTERS=`ec2-describe-instances $TOOL_OPTS | \
|
||||||
awk '"RESERVATION" == $1 && $4 ~ /-master$/, "INSTANCE" == $1' | tr '\n' '\t' | \
|
awk '"RESERVATION" == $1 && $4 ~ /-master$/, "INSTANCE" == $1' | tr '\n' '\t' | \
|
||||||
grep "$CLUSTER" | grep running | cut -f4 | rev | cut -d'-' -f2- | rev`
|
grep "$CLUSTER" | grep running | cut -f4 | rev | cut -d'-' -f2- | rev`
|
||||||
|
|
||||||
|
@ -34,11 +39,6 @@ if [ -n "$CLUSTERS" ]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Import variables
|
|
||||||
bin=`dirname "$0"`
|
|
||||||
bin=`cd "$bin"; pwd`
|
|
||||||
. "$bin"/hbase-ec2-env.sh
|
|
||||||
|
|
||||||
"$bin"/revoke-hbase-cluster-secgroups $CLUSTER
|
"$bin"/revoke-hbase-cluster-secgroups $CLUSTER
|
||||||
|
|
||||||
rm -f $MASTER_IP_PATH
|
rm -f $MASTER_IP_PATH
|
||||||
|
|
|
@ -45,6 +45,9 @@ PRIVATE_KEY_PATH=`echo "$EC2_KEYDIR"/"id_rsa_$KEY_NAME"`
|
||||||
# SSH options used when connecting to EC2 instances.
|
# SSH options used when connecting to EC2 instances.
|
||||||
SSH_OPTS=`echo -q -i "$PRIVATE_KEY_PATH" -o StrictHostKeyChecking=no -o ServerAliveInterval=30`
|
SSH_OPTS=`echo -q -i "$PRIVATE_KEY_PATH" -o StrictHostKeyChecking=no -o ServerAliveInterval=30`
|
||||||
|
|
||||||
|
# Global tool options
|
||||||
|
TOOL_OPTS=`echo -K "$EC2_PRIVATE_KEY" -C "$EC2_CERT"`
|
||||||
|
|
||||||
# The version of HBase to use.
|
# The version of HBase to use.
|
||||||
HBASE_VERSION=0.20.1
|
HBASE_VERSION=0.20.1
|
||||||
|
|
||||||
|
@ -55,8 +58,7 @@ HADOOP_VERSION=$HBASE_VERSION
|
||||||
# The default value is for public images, so can be left if you are using running a public image.
|
# The default value is for public images, so can be left if you are using running a public image.
|
||||||
# Change this value only if you are creating your own (private) AMI
|
# Change this value only if you are creating your own (private) AMI
|
||||||
# so you can store it in a bucket you own.
|
# so you can store it in a bucket you own.
|
||||||
#S3_BUCKET=hbase-images
|
S3_BUCKET=hbase-images
|
||||||
S3_BUCKET=iridiant-bundles
|
|
||||||
|
|
||||||
# Enable public access web interfaces
|
# Enable public access web interfaces
|
||||||
# XXX -- Generally, you do not want to do this
|
# XXX -- Generally, you do not want to do this
|
||||||
|
|
|
@ -31,56 +31,56 @@ bin=`cd "$bin"; pwd`
|
||||||
|
|
||||||
echo "Creating/checking security groups"
|
echo "Creating/checking security groups"
|
||||||
|
|
||||||
ec2-describe-group | egrep "[[:space:]]$CLUSTER_MASTER[[:space:]]" > /dev/null
|
ec2-describe-group $TOOL_OPTS | egrep "[[:space:]]$CLUSTER_MASTER[[:space:]]" > /dev/null
|
||||||
if [ ! $? -eq 0 ]; then
|
if [ ! $? -eq 0 ]; then
|
||||||
echo "Creating group $CLUSTER_MASTER"
|
echo "Creating group $CLUSTER_MASTER"
|
||||||
ec2-add-group $CLUSTER_MASTER -d "Group for HBase Master."
|
ec2-add-group $TOOL_OPTS $CLUSTER_MASTER -d "Group for HBase Master."
|
||||||
ec2-authorize $CLUSTER_MASTER -o $CLUSTER_MASTER -u $AWS_ACCOUNT_ID
|
ec2-authorize $TOOL_OPTS $CLUSTER_MASTER -o $CLUSTER_MASTER -u $AWS_ACCOUNT_ID
|
||||||
ec2-authorize $CLUSTER_MASTER -p 22 # ssh
|
ec2-authorize $TOOL_OPTS $CLUSTER_MASTER -p 22 # ssh
|
||||||
|
|
||||||
if [ $ENABLE_WEB_PORTS = "true" ]; then
|
if [ $ENABLE_WEB_PORTS = "true" ]; then
|
||||||
ec2-authorize $CLUSTER_MASTER -p 50070 # NameNode web interface
|
ec2-authorize $TOOL_OPTS $CLUSTER_MASTER -p 50070 # NameNode web interface
|
||||||
ec2-authorize $CLUSTER_MASTER -p 50075 # DataNode web interface
|
ec2-authorize $TOOL_OPTS $CLUSTER_MASTER -p 50075 # DataNode web interface
|
||||||
ec2-authorize $CLUSTER_MASTER -p 60010 # HBase master web interface
|
ec2-authorize $TOOL_OPTS $CLUSTER_MASTER -p 60010 # HBase master web interface
|
||||||
ec2-authorize $CLUSTER_MASTER -p 60030 # HBase region server web interface
|
ec2-authorize $TOOL_OPTS $CLUSTER_MASTER -p 60030 # HBase region server web interface
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "Security group $CLUSTER_MASTER exists, ok"
|
echo "Security group $CLUSTER_MASTER exists, ok"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ec2-describe-group | egrep "[[:space:]]$CLUSTER[[:space:]]" > /dev/null
|
ec2-describe-group $TOOL_OPTS | egrep "[[:space:]]$CLUSTER[[:space:]]" > /dev/null
|
||||||
if [ ! $? -eq 0 ]; then
|
if [ ! $? -eq 0 ]; then
|
||||||
echo "Creating group $CLUSTER"
|
echo "Creating group $CLUSTER"
|
||||||
ec2-add-group $CLUSTER -d "Group for HBase Slaves."
|
ec2-add-group $TOOL_OPTS $CLUSTER -d "Group for HBase Slaves."
|
||||||
ec2-authorize $CLUSTER -o $CLUSTER -u $AWS_ACCOUNT_ID
|
ec2-authorize $TOOL_OPTS $CLUSTER -o $CLUSTER -u $AWS_ACCOUNT_ID
|
||||||
ec2-authorize $CLUSTER -p 22 # ssh
|
ec2-authorize $TOOL_OPTS $CLUSTER -p 22 # ssh
|
||||||
|
|
||||||
if [ $ENABLE_WEB_PORTS = "true" ]; then
|
if [ $ENABLE_WEB_PORTS = "true" ]; then
|
||||||
ec2-authorize $CLUSTER -p 50070 # NameNode web interface
|
ec2-authorize $TOOL_OPTS $CLUSTER -p 50070 # NameNode web interface
|
||||||
ec2-authorize $CLUSTER -p 50075 # DataNode web interface
|
ec2-authorize $TOOL_OPTS $CLUSTER -p 50075 # DataNode web interface
|
||||||
ec2-authorize $CLUSTER -p 60010 # HBase master web interface
|
ec2-authorize $TOOL_OPTS $CLUSTER -p 60010 # HBase master web interface
|
||||||
ec2-authorize $CLUSTER -p 60030 # HBase region server web interface
|
ec2-authorize $TOOL_OPTS $CLUSTER -p 60030 # HBase region server web interface
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ec2-authorize $CLUSTER_MASTER -o $CLUSTER -u $AWS_ACCOUNT_ID
|
ec2-authorize $TOOL_OPTS $CLUSTER_MASTER -o $CLUSTER -u $AWS_ACCOUNT_ID
|
||||||
ec2-authorize $CLUSTER -o $CLUSTER_MASTER -u $AWS_ACCOUNT_ID
|
ec2-authorize $TOOL_OPTS $CLUSTER -o $CLUSTER_MASTER -u $AWS_ACCOUNT_ID
|
||||||
else
|
else
|
||||||
echo "Security group $CLUSTER exists, ok"
|
echo "Security group $CLUSTER exists, ok"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set up zookeeper group
|
# Set up zookeeper group
|
||||||
|
|
||||||
ec2-describe-group | egrep "[[:space:]]$CLUSTER_ZOOKEEPER[[:space:]]" > /dev/null
|
ec2-describe-group $TOOL_OPTS | egrep "[[:space:]]$CLUSTER_ZOOKEEPER[[:space:]]" > /dev/null
|
||||||
if [ ! $? -eq 0 ]; then
|
if [ ! $? -eq 0 ]; then
|
||||||
echo "Creating group $CLUSTER_ZOOKEEPER"
|
echo "Creating group $CLUSTER_ZOOKEEPER"
|
||||||
ec2-add-group $CLUSTER_ZOOKEEPER -d "Group for HBase Zookeeper quorum."
|
ec2-add-group $TOOL_OPTS $CLUSTER_ZOOKEEPER -d "Group for HBase Zookeeper quorum."
|
||||||
ec2-authorize $CLUSTER_ZOOKEEPER -o $CLUSTER_ZOOKEEPER -u $AWS_ACCOUNT_ID
|
ec2-authorize $TOOL_OPTS $CLUSTER_ZOOKEEPER -o $CLUSTER_ZOOKEEPER -u $AWS_ACCOUNT_ID
|
||||||
ec2-authorize $CLUSTER_ZOOKEEPER -p 22 # ssh
|
ec2-authorize $TOOL_OPTS $CLUSTER_ZOOKEEPER -p 22 # ssh
|
||||||
|
|
||||||
ec2-authorize $CLUSTER_MASTER -o $CLUSTER_ZOOKEEPER -u $AWS_ACCOUNT_ID
|
ec2-authorize $TOOL_OPTS $CLUSTER_MASTER -o $CLUSTER_ZOOKEEPER -u $AWS_ACCOUNT_ID
|
||||||
ec2-authorize $CLUSTER_ZOOKEEPER -o $CLUSTER_MASTER -u $AWS_ACCOUNT_ID
|
ec2-authorize $TOOL_OPTS $CLUSTER_ZOOKEEPER -o $CLUSTER_MASTER -u $AWS_ACCOUNT_ID
|
||||||
ec2-authorize $CLUSTER -o $CLUSTER_ZOOKEEPER -u $AWS_ACCOUNT_ID
|
ec2-authorize $TOOL_OPTS $CLUSTER -o $CLUSTER_ZOOKEEPER -u $AWS_ACCOUNT_ID
|
||||||
ec2-authorize $CLUSTER_ZOOKEEPER -o $CLUSTER -u $AWS_ACCOUNT_ID
|
ec2-authorize $TOOL_OPTS $CLUSTER_ZOOKEEPER -o $CLUSTER -u $AWS_ACCOUNT_ID
|
||||||
else
|
else
|
||||||
echo "Security group $CLUSTER_ZOOKEEPER exists, ok"
|
echo "Security group $CLUSTER_ZOOKEEPER exists, ok"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -35,19 +35,19 @@ if [ -z $AWS_ACCOUNT_ID ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Testing for existing master in group: $CLUSTER"
|
echo "Testing for existing master in group: $CLUSTER"
|
||||||
MASTER_EC2_HOST=`ec2-describe-instances | awk '"RESERVATION" == $1 && "'$CLUSTER_MASTER'" == $4, "RESERVATION" == $1 && "'$CLUSTER_MASTER'" != $4'`
|
MASTER_EC2_HOST=`ec2-describe-instances $TOOL_OPTS | awk '"RESERVATION" == $1 && "'$CLUSTER_MASTER'" == $4, "RESERVATION" == $1 && "'$CLUSTER_MASTER'" != $4'`
|
||||||
MASTER_EC2_HOST=`echo "$MASTER_EC2_HOST" | awk '"INSTANCE" == $1 && "running" == $6 {print $4}'`
|
MASTER_EC2_HOST=`echo "$MASTER_EC2_HOST" | awk '"INSTANCE" == $1 && "running" == $6 {print $4}'`
|
||||||
|
|
||||||
if [ ! -z "$MASTER_EC2_HOST" ]; then
|
if [ ! -z "$MASTER_EC2_HOST" ]; then
|
||||||
echo "Master already running on: $MASTER_EC2_HOST"
|
echo "Master already running on: $MASTER_EC2_HOST"
|
||||||
MASTER_HOST=`ec2-describe-instances $INSTANCE | grep INSTANCE | grep running | grep $MASTER_EC2_HOST | awk '{print $5}'`
|
MASTER_HOST=`ec2-describe-instances $TOOL_OPTS $INSTANCE | grep INSTANCE | grep running | grep $MASTER_EC2_HOST | awk '{print $5}'`
|
||||||
echo $MASTER_HOST > $MASTER_PRIVATE_IP_PATH
|
echo $MASTER_HOST > $MASTER_PRIVATE_IP_PATH
|
||||||
echo $MASTER_EC2_HOST > $MASTER_IP_PATH
|
echo $MASTER_EC2_HOST > $MASTER_IP_PATH
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Finding HBase image
|
# Finding HBase image
|
||||||
[ -z "$AMI_IMAGE" ] && AMI_IMAGE=`ec2-describe-images -a | grep $S3_BUCKET | grep $HBASE_VERSION | grep $ARCH | grep available | awk '{print $2}'`
|
[ -z "$AMI_IMAGE" ] && AMI_IMAGE=`ec2-describe-images $TOOL_OPTS -a | grep $S3_BUCKET | grep $HBASE_VERSION | grep $ARCH | grep available | awk '{print $2}'`
|
||||||
|
|
||||||
# Start a master
|
# Start a master
|
||||||
echo "Starting master with AMI $AMI_IMAGE (arch $ARCH)"
|
echo "Starting master with AMI $AMI_IMAGE (arch $ARCH)"
|
||||||
|
@ -55,12 +55,12 @@ echo "Starting master with AMI $AMI_IMAGE (arch $ARCH)"
|
||||||
ZOOKEEPER_QUORUM=`cat $ZOOKEEPER_QUORUM_PATH`
|
ZOOKEEPER_QUORUM=`cat $ZOOKEEPER_QUORUM_PATH`
|
||||||
sed -e "s|%ZOOKEEPER_QUORUM%|$ZOOKEEPER_QUORUM|" \
|
sed -e "s|%ZOOKEEPER_QUORUM%|$ZOOKEEPER_QUORUM|" \
|
||||||
"$bin"/$USER_DATA_FILE > "$bin"/$USER_DATA_FILE.master
|
"$bin"/$USER_DATA_FILE > "$bin"/$USER_DATA_FILE.master
|
||||||
INSTANCE=`ec2-run-instances $AMI_IMAGE -n 1 -g $CLUSTER_MASTER -k $KEY_NAME -f "$bin"/$USER_DATA_FILE.master -t $INSTANCE_TYPE | grep INSTANCE | awk '{print $2}'`
|
INSTANCE=`ec2-run-instances $AMI_IMAGE $TOOL_OPTS -n 1 -g $CLUSTER_MASTER -k $KEY_NAME -f "$bin"/$USER_DATA_FILE.master -t $INSTANCE_TYPE | grep INSTANCE | awk '{print $2}'`
|
||||||
echo -n "Waiting for instance $INSTANCE to start"
|
echo -n "Waiting for instance $INSTANCE to start"
|
||||||
while true; do
|
while true; do
|
||||||
printf "."
|
printf "."
|
||||||
# get private dns
|
# get private dns
|
||||||
MASTER_HOST=`ec2-describe-instances $INSTANCE | grep running | awk '{print $5}'`
|
MASTER_HOST=`ec2-describe-instances $TOOL_OPTS $INSTANCE | grep running | awk '{print $5}'`
|
||||||
if [ ! -z $MASTER_HOST ]; then
|
if [ ! -z $MASTER_HOST ]; then
|
||||||
echo " Started as $MASTER_HOST"
|
echo " Started as $MASTER_HOST"
|
||||||
break;
|
break;
|
||||||
|
@ -69,10 +69,10 @@ while true; do
|
||||||
done
|
done
|
||||||
rm -f "$bin"/$USER_DATA_FILE.master
|
rm -f "$bin"/$USER_DATA_FILE.master
|
||||||
|
|
||||||
MASTER_EC2_HOST=`ec2-describe-instances $INSTANCE | grep INSTANCE | grep running | grep $MASTER_HOST | awk '{print $4}'`
|
MASTER_EC2_HOST=`ec2-describe-instances $TOOL_OPTS $INSTANCE | grep INSTANCE | grep running | grep $MASTER_HOST | awk '{print $4}'`
|
||||||
echo $MASTER_HOST > $MASTER_PRIVATE_IP_PATH
|
echo $MASTER_HOST > $MASTER_PRIVATE_IP_PATH
|
||||||
echo $MASTER_EC2_HOST > $MASTER_IP_PATH
|
echo $MASTER_EC2_HOST > $MASTER_IP_PATH
|
||||||
MASTER_EC2_ZONE=`ec2-describe-instances $INSTANCE | grep INSTANCE | grep running | grep $MASTER_HOST | awk '{print $11}'`
|
MASTER_EC2_ZONE=`ec2-describe-instances $TOOL_OPTS $INSTANCE | grep INSTANCE | grep running | grep $MASTER_HOST | awk '{print $11}'`
|
||||||
echo $MASTER_EC2_ZONE > $MASTER_ZONE_PATH
|
echo $MASTER_EC2_ZONE > $MASTER_ZONE_PATH
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
|
|
|
@ -41,7 +41,7 @@ if [ ! -f $MASTER_IP_PATH ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -z "$AMI_IMAGE" ] && AMI_IMAGE=`ec2-describe-images -a | grep $S3_BUCKET | grep $HBASE_VERSION | grep $ARCH |grep available | awk '{print $2}'`
|
[ -z "$AMI_IMAGE" ] && AMI_IMAGE=`ec2-describe-images $TOOL_OPTS -a | grep $S3_BUCKET | grep $HBASE_VERSION | grep $ARCH |grep available | awk '{print $2}'`
|
||||||
|
|
||||||
MASTER_HOST=`cat $MASTER_PRIVATE_IP_PATH`
|
MASTER_HOST=`cat $MASTER_PRIVATE_IP_PATH`
|
||||||
MASTER_ZONE=`cat $MASTER_ZONE_PATH`
|
MASTER_ZONE=`cat $MASTER_ZONE_PATH`
|
||||||
|
@ -54,6 +54,6 @@ sed -e "s|%MASTER_HOST%|$MASTER_HOST|" \
|
||||||
|
|
||||||
# Start slaves
|
# Start slaves
|
||||||
echo "Starting $NO_INSTANCES AMI(s) with ID $AMI_IMAGE (arch $ARCH) in group $CLUSTER in zone $MASTER_ZONE"
|
echo "Starting $NO_INSTANCES AMI(s) with ID $AMI_IMAGE (arch $ARCH) in group $CLUSTER in zone $MASTER_ZONE"
|
||||||
ec2-run-instances $AMI_IMAGE -n "$NO_INSTANCES" -g "$CLUSTER" -k "$KEY_NAME" -f "$bin"/$USER_DATA_FILE.slave -t "$INSTANCE_TYPE" -z "$MASTER_ZONE" | grep INSTANCE | awk '{print $2}'
|
ec2-run-instances $AMI_IMAGE $TOOL_OPTS -n "$NO_INSTANCES" -g "$CLUSTER" -k "$KEY_NAME" -f "$bin"/$USER_DATA_FILE.slave -t "$INSTANCE_TYPE" -z "$MASTER_ZONE" | grep INSTANCE | awk '{print $2}'
|
||||||
|
|
||||||
rm "$bin"/$USER_DATA_FILE.slave
|
rm "$bin"/$USER_DATA_FILE.slave
|
||||||
|
|
|
@ -41,7 +41,7 @@ arch=$ZOO_ARCH
|
||||||
[ -z "$arch" ] && arch=$ARCH
|
[ -z "$arch" ] && arch=$ARCH
|
||||||
|
|
||||||
# Finding HBase image
|
# Finding HBase image
|
||||||
[ -z "$ZOO_AMI_IMAGE" ] && ZOO_AMI_IMAGE=`ec2-describe-images -a | grep $S3_BUCKET | grep hbase | grep $HBASE_VERSION | grep $arch |grep available | awk '{print $2}'`
|
[ -z "$ZOO_AMI_IMAGE" ] && ZOO_AMI_IMAGE=`ec2-describe-images $TOOL_OPTS -a | grep $S3_BUCKET | grep hbase | grep $HBASE_VERSION | grep $arch |grep available | awk '{print $2}'`
|
||||||
|
|
||||||
# Start Zookeeper instances
|
# Start Zookeeper instances
|
||||||
|
|
||||||
|
@ -51,12 +51,12 @@ peers=""
|
||||||
public_names=""
|
public_names=""
|
||||||
for inst in `seq 1 $NO_INSTANCES` ; do
|
for inst in `seq 1 $NO_INSTANCES` ; do
|
||||||
echo "Starting an AMI with ID $ZOO_AMI_IMAGE (arch $arch) in group $CLUSTER_ZOOKEEPER"
|
echo "Starting an AMI with ID $ZOO_AMI_IMAGE (arch $arch) in group $CLUSTER_ZOOKEEPER"
|
||||||
INSTANCE=`ec2-run-instances $ZOO_AMI_IMAGE -n 1 -g $CLUSTER_ZOOKEEPER -k ${KEY_NAME} -t $type | grep INSTANCE | awk '{print $2}'`
|
INSTANCE=`ec2-run-instances $ZOO_AMI_IMAGE $TOOL_OPTS -n 1 -g $CLUSTER_ZOOKEEPER -k ${KEY_NAME} -t $type | grep INSTANCE | awk '{print $2}'`
|
||||||
echo -n "Waiting for instance $INSTANCE to start: "
|
echo -n "Waiting for instance $INSTANCE to start: "
|
||||||
while true; do
|
while true; do
|
||||||
printf "."
|
printf "."
|
||||||
# get private dns
|
# get private dns
|
||||||
priv=`ec2-describe-instances $INSTANCE | grep running | awk '{print $5}'`
|
priv=`ec2-describe-instances $TOOL_OPTS $INSTANCE | grep running | awk '{print $5}'`
|
||||||
if [ ! -z $priv ]; then
|
if [ ! -z $priv ]; then
|
||||||
echo " Started ZooKeeper instance $INSTANCE as ${priv}"
|
echo " Started ZooKeeper instance $INSTANCE as ${priv}"
|
||||||
break
|
break
|
||||||
|
@ -64,7 +64,7 @@ for inst in `seq 1 $NO_INSTANCES` ; do
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
peers="$peers $priv"
|
peers="$peers $priv"
|
||||||
public=`ec2-describe-instances $INSTANCE | grep running | awk '{print $4}'`
|
public=`ec2-describe-instances $TOOL_OPTS $INSTANCE | grep running | awk '{print $4}'`
|
||||||
echo " Public DNS name is $public."
|
echo " Public DNS name is $public."
|
||||||
public_names="$public_names $public"
|
public_names="$public_names $public"
|
||||||
done
|
done
|
||||||
|
|
|
@ -23,7 +23,7 @@ bin=`cd "$bin"; pwd`
|
||||||
. "$bin"/hbase-ec2-env.sh
|
. "$bin"/hbase-ec2-env.sh
|
||||||
|
|
||||||
# Finding HBase clusters
|
# Finding HBase clusters
|
||||||
CLUSTERS=`ec2-describe-instances | awk '"RESERVATION" == $1 && $4 ~ /-master$/, "INSTANCE" == $1' | tr '\n' '\t' | grep running | cut -f4 | rev | cut -d'-' -f2- | rev`
|
CLUSTERS=`ec2-describe-instances $TOOL_OPTS | awk '"RESERVATION" == $1 && $4 ~ /-master$/, "INSTANCE" == $1' | tr '\n' '\t' | grep running | cut -f4 | rev | cut -d'-' -f2- | rev`
|
||||||
|
|
||||||
[ -z "$CLUSTERS" ] && echo "No running clusters." && exit 0
|
[ -z "$CLUSTERS" ] && echo "No running clusters." && exit 0
|
||||||
|
|
||||||
|
|
|
@ -31,38 +31,38 @@ bin=`cd "$bin"; pwd`
|
||||||
|
|
||||||
echo "Revoking security groups"
|
echo "Revoking security groups"
|
||||||
|
|
||||||
ec2-describe-group | egrep "[[:space:]]$CLUSTER_MASTER[[:space:]]" > /dev/null
|
ec2-describe-group $TOOL_OPTS | egrep "[[:space:]]$CLUSTER_MASTER[[:space:]]" > /dev/null
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
ec2-revoke $CLUSTER_MASTER -o $CLUSTER_MASTER -u $AWS_ACCOUNT_ID
|
ec2-revoke $TOOL_OPTS $CLUSTER_MASTER -o $CLUSTER_MASTER -u $AWS_ACCOUNT_ID
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ec2-describe-group | egrep "[[:space:]]$CLUSTER[[:space:]]" > /dev/null
|
ec2-describe-group | egrep "[[:space:]]$CLUSTER[[:space:]]" > /dev/null
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
ec2-revoke $CLUSTER -o $CLUSTER -u $AWS_ACCOUNT_ID
|
ec2-revoke $TOOL_OPTS $CLUSTER -o $CLUSTER -u $AWS_ACCOUNT_ID
|
||||||
ec2-revoke $CLUSTER_MASTER -o $CLUSTER -u $AWS_ACCOUNT_ID
|
ec2-revoke $TOOL_OPTS $CLUSTER_MASTER -o $CLUSTER -u $AWS_ACCOUNT_ID
|
||||||
ec2-revoke $CLUSTER -o $CLUSTER_MASTER -u $AWS_ACCOUNT_ID
|
ec2-revoke $TOOL_OPTS $CLUSTER -o $CLUSTER_MASTER -u $AWS_ACCOUNT_ID
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ec2-describe-group | egrep "[[:space:]]$CLUSTER_ZOOKEEPER[[:space:]]" > /dev/null
|
ec2-describe-group | egrep "[[:space:]]$CLUSTER_ZOOKEEPER[[:space:]]" > /dev/null
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
ec2-revoke $CLUSTER_ZOOKEEPER -o $CLUSTER_ZOOKEEPER -u $AWS_ACCOUNT_ID
|
ec2-revoke $TOOL_OPTS $CLUSTER_ZOOKEEPER -o $CLUSTER_ZOOKEEPER -u $AWS_ACCOUNT_ID
|
||||||
ec2-revoke $CLUSTER_MASTER -o $CLUSTER_ZOOKEEPER -u $AWS_ACCOUNT_ID
|
ec2-revoke $TOOL_OPTS $CLUSTER_MASTER -o $CLUSTER_ZOOKEEPER -u $AWS_ACCOUNT_ID
|
||||||
ec2-revoke $CLUSTER_ZOOKEEPER -o $CLUSTER_MASTER -u $AWS_ACCOUNT_ID
|
ec2-revoke $TOOL_OPTS $CLUSTER_ZOOKEEPER -o $CLUSTER_MASTER -u $AWS_ACCOUNT_ID
|
||||||
ec2-revoke $CLUSTER -o $CLUSTER_ZOOKEEPER -u $AWS_ACCOUNT_ID
|
ec2-revoke $TOOL_OPTS $CLUSTER -o $CLUSTER_ZOOKEEPER -u $AWS_ACCOUNT_ID
|
||||||
ec2-revoke $CLUSTER_ZOOKEEPER -o $CLUSTER -u $AWS_ACCOUNT_ID
|
ec2-revoke $TOOL_OPTS $CLUSTER_ZOOKEEPER -o $CLUSTER -u $AWS_ACCOUNT_ID
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ec2-describe-group | egrep "[[:space:]]$CLUSTER_MASTER[[:space:]]" > /dev/null
|
ec2-describe-group $TOOL_OPTS | egrep "[[:space:]]$CLUSTER_MASTER[[:space:]]" > /dev/null
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
ec2-delete-group $CLUSTER_MASTER
|
ec2-delete-group $TOOL_OPTS $CLUSTER_MASTER
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ec2-describe-group | egrep "[[:space:]]$CLUSTER_ZOOKEEPER[[:space:]]" > /dev/null
|
ec2-describe-group $TOOL_OPTS | egrep "[[:space:]]$CLUSTER_ZOOKEEPER[[:space:]]" > /dev/null
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
ec2-delete-group $CLUSTER_ZOOKEEPER
|
ec2-delete-group $TOOL_OPTS $CLUSTER_ZOOKEEPER
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ec2-describe-group | egrep "[[:space:]]$CLUSTER[[:space:]]" > /dev/null
|
ec2-describe-group $TOOL_OPTS | egrep "[[:space:]]$CLUSTER[[:space:]]" > /dev/null
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
ec2-delete-group $CLUSTER
|
ec2-delete-group $TOOL_OPTS $CLUSTER
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -30,7 +30,7 @@ bin=`cd "$bin"; pwd`
|
||||||
. "$bin"/hbase-ec2-env.sh
|
. "$bin"/hbase-ec2-env.sh
|
||||||
|
|
||||||
# Finding HBase image
|
# Finding HBase image
|
||||||
HBASE_INSTANCES=`ec2-describe-instances | awk '"RESERVATION" == $1 && ("'$CLUSTER'" == $4 || "'$CLUSTER_MASTER'" == $4 || "'$CLUSTER_ZOOKEEPER'" == $4), "RESERVATION" == $1 && ("'$CLUSTER'" != $4 && "'$CLUSTER_MASTER'" != $4 && "'$CLUSTER_ZOOKEEPER'" != $4)'`
|
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)'`
|
||||||
HBASE_INSTANCES=`echo "$HBASE_INSTANCES" | grep INSTANCE | grep running`
|
HBASE_INSTANCES=`echo "$HBASE_INSTANCES" | grep INSTANCE | grep running`
|
||||||
|
|
||||||
[ -z "$HBASE_INSTANCES" ] && echo "No running instances in cluster $CLUSTER." && exit 0
|
[ -z "$HBASE_INSTANCES" ] && echo "No running instances in cluster $CLUSTER." && exit 0
|
||||||
|
@ -43,4 +43,4 @@ if [ "$answer" != "yes" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ec2-terminate-instances `echo "$HBASE_INSTANCES" | awk '{print $2}'`
|
ec2-terminate-instances $TOOL_OPTS `echo "$HBASE_INSTANCES" | awk '{print $2}'`
|
||||||
|
|
Loading…
Reference in New Issue