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.