[ 
https://issues.apache.org/jira/browse/HBASE-2327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-2327:
----------------------------------

    Description: 
Amazon EC2 supports Elastic IP Addresses to implement the effect of having a 
static IP address for public servers running on EC2. Up on hbase-users@ there 
was some recent discussion, confirmed, that when an EC2 instance queries the 
external DNS name of an elastic IP address, EC2 DNS returns the internal IP 
address of the instance to which the elastic IP address is bound, so it is safe 
to use elastic IPs for the ZK and master nodes. We gain the ability to do 
transparent replacement of one instance, e.g. failed, with another without 
incurring any additional cost. 

Update {{launch-hbase-zookeeper}} and {{launch-hbase-master}} to allocate 
elastic IPs:

{noformat}
  $ ec2-allocate-address 
  ADDRESS 1.1.1.1
{noformat}

and then assign the elastic IP address to the appropriate instance(s):

{noformat}
$ ec2-associate-address -i i-11111111 1.1.1.1
ADDRESS 1.1.1.1  i-11111111
{noformat}

and then get the external DNS name to use when performing substitutions on 
master and slave configs:

{noformat}
$ ec2-describe-instances i-11111111 | egrep ^INSTANCE | cut -f4
ec2-1-1-1-1.compute-1.amazonaws.com
{noformat}

When shutting down the cluster, just release the elastic IPs after terminating 
the instances:

{noformat}
ec2-release-address 1.1.1.1
...
{noformat}

NOTE: AWS accounts default to a limit of 5 Elastic IP addresses but most will 
run with 1 master and 3 or 1 ZK instances. And, the ZK ensemble can be shared. 

A follow up issue can address making scripts to launch replacements for failed 
instances transparently. 

  was:
Amazon EC2 supports Elastic IP Addresses to implement the effect of having a 
static IP address for public servers running on EC2. Up on hbase-users@ there 
was some recent discussion, confirmed, that when an EC2 instance queries the 
external DNS name of an elastic IP address, EC2 DNS returns the internal IP 
address of the instance to which the elastic IP address is bound, so it is safe 
to use elastic IPs for the ZK and master nodes. We gain the ability to do 
transparent replacement of one instance, e.g. failed, with another without 
incurring any additional cost. 

Update {{launch-hbase-zookeeper}} and {{launch-hbase-master}} to allocate 
elastic IPs:

{noformat}
  $ ec2-allocate-address 
  ADDRESS 1.1.1.1
{noformat}

and then assign the elastic IP address to the appropriate instance(s):

{noformat}
$ ec2-associate-address -i i-07612d6e 75.101.137.243
ADDRESS 1.1.1.1  i-11111111
{noformat}

and then get the external DNS name to use when performing substitutions on 
master and slave configs:

{noformat}
$ ec2-describe-instances i-11111111 | egrep ^INSTANCE | cut -f4
ec2-1-1-1-1.compute-1.amazonaws.com
{noformat}

When shutting down the cluster, just release the elastic IPs after terminating 
the instances:

{noformat}
ec2-release-address 1.1.1.1
...
{noformat}

NOTE: AWS accounts default to a limit of 5 Elastic IP addresses but most will 
run with 1 master and 3 or 1 ZK instances. And, the ZK ensemble can be shared. 

A follow up issue can address making scripts to launch replacements for failed 
instances transparently. 


> [EC2] Allocate elastic IP addresses for ZK and master nodes
> -----------------------------------------------------------
>
>                 Key: HBASE-2327
>                 URL: https://issues.apache.org/jira/browse/HBASE-2327
>             Project: Hadoop HBase
>          Issue Type: Sub-task
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>             Fix For: 0.20.4, 0.21.0
>
>
> Amazon EC2 supports Elastic IP Addresses to implement the effect of having a 
> static IP address for public servers running on EC2. Up on hbase-users@ there 
> was some recent discussion, confirmed, that when an EC2 instance queries the 
> external DNS name of an elastic IP address, EC2 DNS returns the internal IP 
> address of the instance to which the elastic IP address is bound, so it is 
> safe to use elastic IPs for the ZK and master nodes. We gain the ability to 
> do transparent replacement of one instance, e.g. failed, with another without 
> incurring any additional cost. 
> Update {{launch-hbase-zookeeper}} and {{launch-hbase-master}} to allocate 
> elastic IPs:
> {noformat}
>   $ ec2-allocate-address 
>   ADDRESS 1.1.1.1
> {noformat}
> and then assign the elastic IP address to the appropriate instance(s):
> {noformat}
> $ ec2-associate-address -i i-11111111 1.1.1.1
> ADDRESS 1.1.1.1  i-11111111
> {noformat}
> and then get the external DNS name to use when performing substitutions on 
> master and slave configs:
> {noformat}
> $ ec2-describe-instances i-11111111 | egrep ^INSTANCE | cut -f4
> ec2-1-1-1-1.compute-1.amazonaws.com
> {noformat}
> When shutting down the cluster, just release the elastic IPs after 
> terminating the instances:
> {noformat}
> ec2-release-address 1.1.1.1
> ...
> {noformat}
> NOTE: AWS accounts default to a limit of 5 Elastic IP addresses but most will 
> run with 1 master and 3 or 1 ZK instances. And, the ZK ensemble can be 
> shared. 
> A follow up issue can address making scripts to launch replacements for 
> failed instances transparently. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to