hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From George Stathis <gstat...@gmail.com>
Subject Re: Remote Java client connection into EC2 instance
Date Fri, 19 Mar 2010 22:12:16 GMT
Well, here another possible option: Rackspace. If EC2 is such a big headache
to setup for external access, would Rackspace be a good alternative (cost
allowing)? What's people's experience running on it? It seems that they
support non-NAT public IPs:
http://www.rackspacecloud.com/cloud_hosting_products/servers/compare

-GS

On Fri, Mar 19, 2010 at 2:21 PM, George Stathis <gstathis@gmail.com> wrote:

> Andy, thanks for the response.
>
> Switching connectors is a significant DAO re-write for us, so that's out,
> plus we would not use connectors for production. The DNS approach is
> probably out as well as I don't think we have that much control with the ISP
> that hosts our build server (we are a small startup, so we are on the cheap
> right now). Re-writing the Java client is not an option either.
>
> So I guess moving the build machine to EC2 might be the best option for
> us. This definitely helps to move on. Thanks again for taking the time.
>
> -GS
>
>
>
> On Fri, Mar 19, 2010 at 1:16 PM, Andrew Purtell <apurtell@apache.org>wrote:
>
>> Expanding on my point #3, if you run your own DNS that accepts updates,
>> you can use nsupdate to maintain a dynamic shadow of the internal zone with
>> mappings to public IPs. Update records when the cluster is up. Remove them
>> when the cluster is terminated.
>>
>> You would also need to figure out how best to update should an instance
>> fail and be replaced, but this should be hopefully a rare event and elastic
>> IPs can help, though each account only gets 5 of them without justification
>> to AWS.
>>
>>    - Andy
>>
>> On Fri Mar 19th, 2010 9:45 AM PDT Andrew Purtell wrote:
>>
>> >The IP addresses assigned on the cluster are all internal ones, so when
>> the regionservers do a reverse lookup, they get something foo.internal. Then
>> they report this to the master, which hands them out to the client library
>> as region locations. So while you can telnet to 60020 on the slaves as you
>> know the public DNS names, the client library is only able to learn of the
>> internal ones.
>> >
>> >Some options:
>> >
>> >1) Run your clients up in the EC2 cloud also
>> >
>> >2) Use a connector like Stargate or the Thrift server which can in effect
>> proxy your requests to the EC2 hosted cluster.
>> >
>> >3) Grab the latest scripts from 0.20 branch in SVN. In
>> $HOME/.hbase-<cluster>-instances will be the list of instance identifiers of
>> the slaves. Do:
>> >
>> >   ec2-describe-instances `cat ~/.hbase-<cluster>-instances` | grep
>> INSTANCE | grep running | awk '{print "$4 $5"}'
>> >
>> >This will give you a mapping between private and public names. Dump
>> entries into your /etc/hosts which map public IP (use dig to look up) to
>> private name. Yes, it's not a nice hack.
>> >
>> >4) You can use SSH as a SOCKS 5 proxy (ssh -f -N -D <local-port>
>> <remote>), which will also forward DNS requests, but to do it that way you'd
>> have to hack the client library some.
>> >
>> >   - Andy
>> >
>> >> From: George Stathis
>> >> Subject: Remote Java client connection into EC2 instance
>> >> To: hbase-user@hadoop.apache.org
>> >> Date: Friday, March 19, 2010, 8:00 AM
>> >> This has come up
>> >> before<
>> http://mail-archives.apache.org/mod_mbox/hadoop-hbase-user/200909.mbox/%3C587903.6843.qm@web65509.mail.ac4.yahoo.com%3E
>> >but
>> >> I'm still unclear as to whether this is possible or not:
>> >> remotely connecting to an EC2 instance using the Java client
>> >> library.
>> >[...]
>> >> Now, I have gone though a lot of threads and posts and have
>> >> opened up all required ports (I think) on EC2: 60000, 60020
>> >> and 2181 (I can telnet into them). I have one test EC2
>> >> instance running in pseudo-distributed mode to
>> >> test the remote connection. I attempt to run a single unit
>> >> test.
>> >[...]
>> >
>> >
>> >
>> >
>>
>>
>>
>>
>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message