You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Peter Haidinyak <ph...@local.com> on 2011/01/22 00:49:08 UTC

IOException from HBase Client

Hi, I was running out of memory so I move my import application to another server. Now, when I do the following call..

new HTable(configuration, AFFILIATE_TABLE_NAME)

I receive the following Exception.

IOException trying to establish a connection to HBase.
org.apache.hadoop.hbase.client.NoServerForRegionException: Timed out trying to locate root region because: org.apache.hadoop.security.UserGroupInformation.getCurrentUser()Lorg/apache/hadoop/security/UserGroupInformation;
        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRootRegion(HConnectionManager.java:1107)
        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:668)
        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:644)
        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:770)
        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:673)
        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:644)
        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:770)
        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:677)
        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:644)
        at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:136)
        at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:113)
        at com.local.search.traffic.logs.acquire.ImportTrafficLogs.setupHBaseConnection(ImportTrafficLogs.java:1319)
        at com.local.search.traffic.logs.acquire.ImportTrafficLogs.run(ImportTrafficLogs.java:1442)
        at java.lang.Thread.run(Unknown Source)


As far as I can tell the environments are the same between the two servers and I can make connections from other servers using the same code. I am running the Import application as the hadoop user but when I tried as root is worked once but not again.

Thanks for any help.
-Pete

RE: IOException from HBase Client

Posted by Peter Haidinyak <ph...@local.com>.
Thanks.

-Pete

-----Original Message-----
From: saint.ack@gmail.com [mailto:saint.ack@gmail.com] On Behalf Of Stack
Sent: Monday, January 24, 2011 9:16 AM
To: user@hbase.apache.org
Subject: Re: IOException from HBase Client

On Mon, Jan 24, 2011 at 8:55 AM, Peter Haidinyak <ph...@local.com> wrote:
> Question: If I want to connect to HBase from a remote client what jars do I need on the client side?
>

hadoop, hbase, and zookeeper jars.  Looking at your version, I think
you need the guava jar too (In 0.90.0, work was done to undo client
dependency on guava).

St.Ack

Re: IOException from HBase Client

Posted by Stack <st...@duboce.net>.
On Mon, Jan 24, 2011 at 8:55 AM, Peter Haidinyak <ph...@local.com> wrote:
> Question: If I want to connect to HBase from a remote client what jars do I need on the client side?
>

hadoop, hbase, and zookeeper jars.  Looking at your version, I think
you need the guava jar too (In 0.90.0, work was done to undo client
dependency on guava).

St.Ack

RE: IOException from HBase Client

Posted by Peter Haidinyak <ph...@local.com>.
Sorry, forgot that information

HBase Jar: hbase-0.89.20100924+28.jar
Hadoop Jar: hadoop-core-0.20.2-737.jar

Turns out when I took the hadoop directory out of the classpath it started to work. 

Question: If I want to connect to HBase from a remote client what jars do I need on the client side?

Thanks again for your help.

-Pete



-----Original Message-----
From: saint.ack@gmail.com [mailto:saint.ack@gmail.com] On Behalf Of Stack
Sent: Friday, January 21, 2011 4:30 PM
To: user@hbase.apache.org
Subject: Re: IOException from HBase Client

Tell us your hadoop version.  Is it 'secure' hadoop (or CDH3b3?).
Looks like a permission issue?  Did you put your cluster's hadoop jar
into hbase/lib?
St.Ack


On Fri, Jan 21, 2011 at 3:49 PM, Peter Haidinyak <ph...@local.com> wrote:
> Hi, I was running out of memory so I move my import application to another server. Now, when I do the following call..
>
> new HTable(configuration, AFFILIATE_TABLE_NAME)
>
> I receive the following Exception.
>
> IOException trying to establish a connection to HBase.
> org.apache.hadoop.hbase.client.NoServerForRegionException: Timed out trying to locate root region because: org.apache.hadoop.security.UserGroupInformation.getCurrentUser()Lorg/apache/hadoop/security/UserGroupInformation;
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRootRegion(HConnectionManager.java:1107)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:668)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:644)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:770)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:673)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:644)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:770)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:677)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:644)
>        at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:136)
>        at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:113)
>        at com.local.search.traffic.logs.acquire.ImportTrafficLogs.setupHBaseConnection(ImportTrafficLogs.java:1319)
>        at com.local.search.traffic.logs.acquire.ImportTrafficLogs.run(ImportTrafficLogs.java:1442)
>        at java.lang.Thread.run(Unknown Source)
>
>
> As far as I can tell the environments are the same between the two servers and I can make connections from other servers using the same code. I am running the Import application as the hadoop user but when I tried as root is worked once but not again.
>
> Thanks for any help.
> -Pete
>

Re: IOException from HBase Client

Posted by Stack <st...@duboce.net>.
Tell us your hadoop version.  Is it 'secure' hadoop (or CDH3b3?).
Looks like a permission issue?  Did you put your cluster's hadoop jar
into hbase/lib?
St.Ack


On Fri, Jan 21, 2011 at 3:49 PM, Peter Haidinyak <ph...@local.com> wrote:
> Hi, I was running out of memory so I move my import application to another server. Now, when I do the following call..
>
> new HTable(configuration, AFFILIATE_TABLE_NAME)
>
> I receive the following Exception.
>
> IOException trying to establish a connection to HBase.
> org.apache.hadoop.hbase.client.NoServerForRegionException: Timed out trying to locate root region because: org.apache.hadoop.security.UserGroupInformation.getCurrentUser()Lorg/apache/hadoop/security/UserGroupInformation;
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRootRegion(HConnectionManager.java:1107)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:668)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:644)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:770)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:673)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:644)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:770)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:677)
>        at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:644)
>        at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:136)
>        at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:113)
>        at com.local.search.traffic.logs.acquire.ImportTrafficLogs.setupHBaseConnection(ImportTrafficLogs.java:1319)
>        at com.local.search.traffic.logs.acquire.ImportTrafficLogs.run(ImportTrafficLogs.java:1442)
>        at java.lang.Thread.run(Unknown Source)
>
>
> As far as I can tell the environments are the same between the two servers and I can make connections from other servers using the same code. I am running the Import application as the hadoop user but when I tried as root is worked once but not again.
>
> Thanks for any help.
> -Pete
>