HBASE-2019 [EC2] remember credentials if not configured
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@886052 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
bf32e51013
commit
6f56688341
|
@ -212,6 +212,7 @@ Release 0.21.0 - Unreleased
|
|||
HBASE-1995 Add configurable max value size check (Lars George via Andrew
|
||||
Purtell)
|
||||
HBASE-2017 Set configurable max value size check to 10MB
|
||||
HBASE-2019 [EC2] remember credentials if not configured
|
||||
|
||||
NEW FEATURES
|
||||
HBASE-1901 "General" partitioner for "hbase-48" bulk (behind the api, write
|
||||
|
|
|
@ -64,6 +64,10 @@ echo "Copying scripts."
|
|||
|
||||
# Copy setup scripts
|
||||
scp $SSH_OPTS "$bin"/hbase-ec2-env.sh "root@$HOSTNAME:/mnt"
|
||||
scp $SSH_OPTS "$bin"/functions.sh "root@$HOSTNAME:/mnt"
|
||||
if [ -f "$bin"/credentials.sh ] ; then
|
||||
scp $SSH_OPTS "$bin"/credentials.sh "root@$HOSTNAME:/mnt"
|
||||
fi
|
||||
scp $SSH_OPTS "$bin"/image/create-hbase-image-remote "root@$HOSTNAME:/mnt"
|
||||
scp $SSH_OPTS "$bin"/image/ec2-run-user-data "root@$HOSTNAME:/etc/init.d"
|
||||
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
function getCredentialSetting {
|
||||
name=$1
|
||||
eval "val=\$$name"
|
||||
if [ -z "$val" ] ; then
|
||||
if [ -f "$bin"/credentials.sh ] ; then
|
||||
val=`cat "$bin"/credentials.sh | grep $name | awk 'BEGIN { FS="=" } { print $2; }'`
|
||||
if [ -z "$val" ] ; then
|
||||
echo -n "$name: "
|
||||
read -e val
|
||||
echo "$name=$val" >> "$bin"/credentials.sh
|
||||
fi
|
||||
else
|
||||
echo -n "$name: "
|
||||
read -e val
|
||||
echo "$name=$val" >> "$bin"/credentials.sh
|
||||
fi
|
||||
eval "$name=$val"
|
||||
fi
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
# Set environment variables for running Hbase on Amazon EC2 here. All are required.
|
||||
# Set environment variables for running Hbase on Amazon EC2 here.
|
||||
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
|
@ -30,19 +30,8 @@ EC2_PRIVATE_KEY=
|
|||
# Your AWS certificate file -- must begin with 'cert' and end with '.pem'
|
||||
EC2_CERT=
|
||||
|
||||
# Location of EC2 keys.
|
||||
# The default setting is probably OK if you set up EC2 following the Amazon Getting Started guide.
|
||||
EC2_KEYDIR=`dirname "$EC2_PRIVATE_KEY"`
|
||||
|
||||
# Where your EC2 private key is stored (created when following the Amazon Getting Started guide).
|
||||
# You need to change this if you don't store this with your other EC2 keys.
|
||||
PRIVATE_KEY_PATH=`echo "$EC2_KEYDIR"/"id_rsa_root"`
|
||||
|
||||
# SSH options used when connecting to EC2 instances.
|
||||
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"`
|
||||
# Your AWS root SSH key
|
||||
EC2_ROOT_SSH_KEY=
|
||||
|
||||
# The version of HBase to use.
|
||||
HBASE_VERSION=0.20.2
|
||||
|
@ -51,18 +40,13 @@ HBASE_VERSION=0.20.2
|
|||
HADOOP_VERSION=0.20.1
|
||||
|
||||
# The Amazon S3 bucket where the HBase AMI is stored.
|
||||
# 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
|
||||
# so you can store it in a bucket you own.
|
||||
S3_BUCKET=hbase-images
|
||||
|
||||
# Enable public access web interfaces
|
||||
# XXX -- Generally, you do not want to do this
|
||||
ENABLE_WEB_PORTS=false
|
||||
|
||||
# The script to run on instance boot.
|
||||
USER_DATA_FILE=hbase-ec2-init-remote.sh
|
||||
|
||||
# Use only c1.xlarge unless you know what you are doing
|
||||
MASTER_INSTANCE_TYPE=${MASTER_INSTANCE_TYPE:-c1.xlarge}
|
||||
|
||||
|
@ -72,6 +56,29 @@ SLAVE_INSTANCE_TYPE=${SLAVE_INSTANCE_TYPE:-c1.xlarge}
|
|||
# Use only c1.medium unless you know what you are doing
|
||||
ZOO_INSTANCE_TYPE=${ZOO_INSTANCE_TYPE:-c1.medium}
|
||||
|
||||
############################################################################
|
||||
|
||||
# Generally, users do not need to edit below
|
||||
|
||||
bin=`dirname "$0"`
|
||||
bin=`cd "$bin"; pwd`
|
||||
. "$bin"/functions.sh
|
||||
getCredentialSetting 'AWS_ACCOUNT_ID'
|
||||
getCredentialSetting 'AWS_ACCESS_KEY_ID'
|
||||
getCredentialSetting 'AWS_SECRET_ACCESS_KEY'
|
||||
getCredentialSetting 'EC2_PRIVATE_KEY'
|
||||
getCredentialSetting 'EC2_CERT'
|
||||
getCredentialSetting 'EC2_ROOT_SSH_KEY'
|
||||
|
||||
# SSH options used when connecting to EC2 instances.
|
||||
SSH_OPTS=`echo -q -i "$EC2_ROOT_SSH_KEY" -o StrictHostKeyChecking=no -o ServerAliveInterval=30`
|
||||
|
||||
# EC2 command request timeout (seconds)
|
||||
REQUEST_TIMEOUT=300 # 5 minutes
|
||||
|
||||
# Global tool options
|
||||
TOOL_OPTS=`echo -K "$EC2_PRIVATE_KEY" -C "$EC2_CERT" --request-timeout $REQUEST_TIMEOUT`
|
||||
|
||||
# The EC2 group master name. CLUSTER is set by calling scripts
|
||||
CLUSTER_MASTER=$CLUSTER-master
|
||||
|
||||
|
@ -84,9 +91,8 @@ MASTER_ZONE_PATH=~/.hbase-zone-$CLUSTER_MASTER
|
|||
CLUSTER_ZOOKEEPER=$CLUSTER-zookeeper
|
||||
ZOOKEEPER_QUORUM_PATH=~/.hbase-quorum-$CLUSTER_ZOOKEEPER
|
||||
|
||||
#
|
||||
# The following variables are only used when creating an AMI.
|
||||
#
|
||||
# The script to run on instance boot.
|
||||
USER_DATA_FILE=hbase-ec2-init-remote.sh
|
||||
|
||||
# The version number of the installed JDK.
|
||||
JAVA_VERSION=1.6.0_17
|
||||
|
|
|
@ -30,8 +30,9 @@ arch=$ARCH
|
|||
echo "Remote: INSTANCE_TYPE is $type"
|
||||
echo "Remote: ARCH is $arch"
|
||||
|
||||
# Remove environment script since it contains sensitive information
|
||||
# Remove sensitive information
|
||||
rm -f "$bin"/hbase-ec2-env.sh
|
||||
rm -f "$bin"/credentials.sh
|
||||
|
||||
# Install Java
|
||||
echo "Downloading and installing java binary."
|
||||
|
|
Loading…
Reference in New Issue