You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Robert J Berger <rb...@ibd.com> on 2009/02/28 03:36:44 UTC
Re: Hbase on EC2 and issues with Amazon NAT Internal Addresses
I'm still having a problem with this. It seems that the HBase/Haddop code is
determining the IP address for the hbase shell to access the region server
from the EC2 private IP address even though I give the config the public
address.
It seems that the hbase code looks at the physical interface and gets the
ipadress from that, though I am not 100% sure if that is the issue.
Is there some way to force the public address to be used instead?
Thanks
Rob
Robert J Berger wrote:
>
> I've got HBase / Haddop 0.19 running on an Amazon EC2 instance using
> the instructions for the "Pseudo-Distributed Operation".
>
> While ssh'd onto the machine running HBase/Haddop I can run
>
> hbase shell
>
> and do a list and see the rows from the HBase fine.
>
> But when I try to run hbase shell from another host that is not on the
> Amazon network, it fails (see the example command where the real
> command uses a real host name not example.com)
>
> I can access the web interface with a client not running on the Amazon
> network to HBase at example.com:60010 but it shows no User Tables and
> the Region Servers Address is the EC2 internal address:
> domU-13-41-39-01-80-62.compute-1.internal:60020
> When I click on that it of course it can not access it since its
> behind a NAT.
>
> I've been struggling (and googling) with this for a while and can't
> figure out how to get it to use the public address. Any help or
> suggestions would be greatly appreciated!
>
> Here is my hbase-site.xml
> <?xml version="1.0"?>
> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
> configuration>
> <property>
> <name>hbase.rootdir</name>
> <value>hdfs://localhost:54310/hbase</value>
> <description>The directory shared by region servers.
> Should be fully-qualified to include the filesystem to use.
> E.g: hdfs://NAMENODE_SERVER:PORT/HBASE_ROOTDIR
> </description>
> </property>
>
> <property>
> <name>hbase.master</name>
> <value>0.0.0.0:60000</value>
> <description>The host and port that the HBase master runs at.
> </description>
> </property>
>
> <property>
> <name>hbase.regionserver</name>
> <value>fbase.cinchcorp.com:60020</value>
> <description>The host and port a HBase region server runs at.
> </description>
> </property>
> </configuration>
>
> Here is the command line and failure messages:
>
> > /usr/local/hbase/bin/hbase shell --master=example.com:60000
> HBase Shell; enter 'help<RETURN>' for list of supported commands.
> Version: 0.18.1, r707159, Wed Oct 22 12:43:06 PDT 2008
> hbase(main):001:0> list
> 09/01/23 08:56:58 INFO client.HConnectionManager$TableServers: Attempt
> 0 of 5 failed with <java.io.IOException: Call failed on local
> exception>. Retrying after sleep of 2000
> 09/01/23 08:57:00 INFO client.HConnectionManager$TableServers: Attempt
> 1 of 5 failed with <java.io.IOException: Call failed on local
> exception>. Retrying after sleep of 2000
> 09/01/23 08:57:03 INFO client.HConnectionManager$TableServers: Attempt
> 2 of 5 failed with <java.io.IOException: Call failed on local
> exception>. Retrying after sleep of 2000
> 09/01/23 08:57:05 INFO client.HConnectionManager$TableServers: Attempt
> 3 of 5 failed with <java.io.IOException: Call failed on local
> exception>. Retrying after sleep of 4000
> NativeException: org.apache.hadoop.hbase.MasterNotRunningException:
> fbase.cinchcorp.com:60000
> from org/apache/hadoop/hbase/client/HConnectionManager.java:221:in
> `getMaster'
> from org/apache/hadoop/hbase/client/HBaseAdmin.java:67:in `<init>'
> from sun/reflect/NativeConstructorAccessorImpl.java:-2:in
> `newInstance0'
> from sun/reflect/NativeConstructorAccessorImpl.java:39:in `newInstance'
> from sun/reflect/DelegatingConstructorAccessorImpl.java:27:in
> `newInstance'
> from java/lang/reflect/Constructor.java:513:in `newInstance'
> from org/jruby/javasupport/JavaConstructor.java:195:in `new_instance'
> from org.jruby.javasupport.JavaConstructorInvoker
> $new_instance_method_0_0:-1:in `call'
> from org/jruby/runtime/CallSite.java:261:in `call'
> from org/jruby/evaluator/ASTInterpreter.java:670:in `callNode'
> from org/jruby/evaluator/ASTInterpreter.java:324:in `evalInternal'
> from org/jruby/evaluator/ASTInterpreter.java:2173:in `setupArgs'
> from org/jruby/evaluator/ASTInterpreter.java:571:in `attrAssignNode'
> from org/jruby/evaluator/ASTInterpreter.java:309:in `evalInternal'
> from org/jruby/evaluator/ASTInterpreter.java:620:in `blockNode'
> from org/jruby/evaluator/ASTInterpreter.java:318:in `evalInternal'
> ... 178 levels...
> from ruby/usr/local/pkgs/hbase_minus_0_dot_18_dot_1/bin//usr/local/
> hbase/bin/../bin/hirb.rb:-1:in `__file__'
> from ruby/usr/local/pkgs/hbase_minus_0_dot_18_dot_1/bin//usr/local/
> hbase/bin/../bin/hirb.rb:-1:in `load'
> from org/jruby/Ruby.java:512:in `runScript'
> from org/jruby/Ruby.java:432:in `runNormally'
> from org/jruby/Ruby.java:312:in `runFromMain'
> from org/jruby/Main.java:144:in `run'
> from org/jruby/Main.java:89:in `run'
> from org/jruby/Main.java:80:in `main'
> from file:/usr/local/pkgs/hbase-0.18.1/lib/jruby-complete-1.1.2.jar!/
> builtin/javasupport/proxy/concrete.rb:23:in `initialize'
> from file:/usr/local/pkgs/hbase-0.18.1/lib/jruby-complete-1.1.2.jar!/
> builtin/javasupport/proxy/concrete.rb:6:in `new'
> from file:/usr/local/pkgs/hbase-0.18.1/lib/jruby-complete-1.1.2.jar!/
> builtin/javasupport/proxy/concrete.rb:6:in `new'
> from /usr/local/hbase/bin/../bin/HBase.rb:37:in `initialize'
> from /usr/local/hbase/bin/../bin/hirb.rb:218:in `new'
> from /usr/local/hbase/bin/../bin/hirb.rb:218:in `admin'
> from /usr/local/hbase/bin/../bin/hirb.rb:242:in `list'
> from (hbase):2:in `binding'hbase(main):002:0>
>
>
>
--
View this message in context: http://www.nabble.com/Hbase-on-EC2-and-issues-with-Amazon-NAT-Internal-Addresses-tp21621367p22258092.html
Sent from the HBase User mailing list archive at Nabble.com.