Hi Michael, I was having a similar problem and following this thread for any suggestions. I tried everything suggested and more.
I was trying to run Hadoop/Hbase pseudo distributed version on my Mac. I initially started with Hadoop 21.0 and Hbase 0.89 versions. I had exactly the same error that you were getting. Then switched to Hadoop 20.2 and Hbase 20.6 - still HMaster was not starting. Then finally it worked. Below are my steps to success :) * stopped hbase * stopped hadoop * run jps; RegionServer was still running; killed it manually * in tmp directory (where hadoop namenode and *.pid files are stored) I removed everything related to hadoop and hbase, including the directories. (I had no data in Hadoop, so I could do this) * changed the ports back to default 600** * changed back Hadoop and Hbase configurations to "localhost" in *site*.xml and regionservers. (Only I will be using this - no remote connection) * changed back my /etc/hosts to the original version. It looks like this: 127.0.0.1 localhost ::1 localhost fe80::1%lo0 localhost * reformatted the Hadoop namenode * started Hadoop * started HBase and it worked :) Let me know if you want to know any specific configuration. N.Gesli On Wed, Sep 15, 2010 at 10:41 PM, Ryan Rawson <[email protected]> wrote: > What is your ifconfig output looking like? > > > > On Wed, Sep 15, 2010 at 10:07 PM, Michael Scott <[email protected]> > wrote: > > Thanks for the continued advice. I am still confused by the different > > behaviors of hadoop and hbase. As I said before, I can't get hbase to > work > > on any of the ports that hadoop works on, so I guess hadoop and hbase are > > using different interfaces. Why is this, and can't I ask hbase to use > the > > interface that hadoop uses? What interfaces are hadoop and hbase using? > > > > Also (and maybe this is the wrong forum for this question), how can I get > my > > OS to allow me to open 60000 using the IP address? I have temporarily > > disabled selinux and iptables, as I thought that this would simply allow > all > > port connections. Still, this works just fine: > > bash-4.0$ nc -l 60000 > /tmp/nc.out > > > > but this does not: > > bash-4.0$ nc -l 97.86.88.18 60000 > /tmp/nc.out > > (returns "nc: Cannot assign requested address"; I get the same error for > the > > hostname instead of the IP address, and for 10.0.0.1, but 10.0.0.0 is > > allowed) > > > > I am trying to get hbase running for a socorro server, which will running > > locally. I don't know if that matters. > > > > Thanks, > > Michael > > > > On Wed, Sep 15, 2010 at 6:04 PM, Ryan Rawson <[email protected]> wrote: > > > >> 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 > >> >>> > >> >> > >> >> > >> > > >> > > >
