Hey, If you bind to localhost you wont actually be reachable by anyone!
The question is why is your OS disallowing binds to a specific interface/port combo? HBase does not really run in a blended/multihomed environment... meaning if you have multiple interfaces, you have to choose one that we work over. This is because we need to know a singular canonical IP/name for any given server because we put that info up inside ZooKeeper and META tables. So it's not just an artificial constraint, but exists for cluster management needs. Having said that, we do work on multihomed machines, eg: ec2, you might bind hbase to the internal interface taking advantage of the unmetered/faster network. Also better for security as well. Let us know if you need more background on how we use the network and why. -ryan On Wed, Sep 15, 2010 at 10:18 AM, Michael Scott <[email protected]> wrote: > Hi again, > > I think the hbase server master is not starting because it is attempting to > open port 60000 on its public IP address, rather than using localhost. I > cannot seem to figure out how to force it (well, configure it) to attempt to > bind to localhost:60000 instead. As far as I can see, this is set in the > file: > > org/apache/hadoop/hbase/master/HMaster.java > > I don't know much about java, so I'd prefer not to edit the source if there > is an option, but I will if necessary. Can someone please point me to the > way to change this setting? Any help would be greatly appreciated. > > Thanks, > Michael > > On Wed, Sep 15, 2010 at 12:42 AM, Michael Scott <[email protected]>wrote: > >> Hi again, >> >> IPV6 was enabled. I shut it off, rebooted to be sure, verified it was >> still off, and encountered the same problem once again. >> >> I also tried to open port 60000 by hand with a small php file. I can do >> this (as any user) for localhost. I can NOT do this (not even as root) for >> the IP address which matches the fully qualified domain name, which is what >> hbase is trying to use. Is there some way for me to configure hbase to use >> localhost instead of the fully qualified domain name for the master? I >> would have thought this was done by default, or that there would be an >> obvious line in some conf file, but I can't find it. >> >> Thanks again, >> >> Michael >> >> On Tue, Sep 14, 2010 at 12:23 PM, Todd Lipcon <[email protected]> wrote: >> >>> Hi Michael, >>> >>> It might be related to IPV6. Do you have IPV6 enabled on this machine? >>> >>> Check out this hadoop JIRA that might be related for some tips: >>> https://issues.apache.org/jira/browse/HADOOP-6056 >>> >>> <https://issues.apache.org/jira/browse/HADOOP-6056>-Todd >>> >>> On Tue, Sep 14, 2010 at 10:17 AM, Michael Scott <[email protected] >>> >wrote: >>> >>> > That's correct. I tried a number of different ports to see if there was >>> > something weird, and then I shut down the hadoop server and tried to >>> > connect >>> > to 50010 (which of course should have been free at that point) but got >>> the >>> > same "cannot assign to requested address" error. If I start hadoop, >>> > netstat >>> > shows a process listening on 50010. >>> > >>> > I am going to try this on a different OS, I am wondering if FC11 is my >>> > problem. >>> > >>> > Michael >>> > >>> > On Tue, Sep 14, 2010 at 11:41 AM, Stack <[email protected]> wrote: >>> > >>> > > On Tue, Sep 14, 2010 at 9:33 AM, Michael Scott <[email protected]> >>> > > wrote: >>> > > > I don't see why hadoop binds >>> > > > to a port but hbase does not (I even tried starting hbase with >>> hadoop >>> > off >>> > > > and binding to 50010, which hadoop uses). >>> > > > >>> > > >>> > > Using 50010 worked for hadoop but not for hbase? (Odd. We hadoop >>> > > their mechanism essentially). >>> > > >>> > > St.Ack >>> > > >>> > >>> >>> >>> >>> -- >>> Todd Lipcon >>> Software Engineer, Cloudera >>> >> >> >
