Hi,
I found the problem why it is continuously hanging when we use a Table
object.
When we use the Admin object first it tries to check the master.
If the zookeeper.znode.parent is not specified in the client So it takes
the default zookeeper.znode.parent=/hbase and tries to connect to the
master. so an exception is thrown
client.HConnectionManager$HConnectionImplementation: ZooKeeper
available but no active master location found
11/07/25 14:08:44 INFO
client.HConnectionManager$HConnectionImplementation: getMaster attempt
9 of 10 failed; no more retrying.
org.apache.hadoop.hbase.MasterNotRunningException
at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.
getMaster(HConnectionManager.java:356)
at
org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:90)
But when we use the Table object and if zookeeper.znode.parent the value is
not specified in the client then currently it checks for the root region
location and it appends /hbase as the root node.
May be the first check that we add should be to see if this /hbase is there
if not throw an excpetion.
May be we can raise a Jira for this if Ted or Stack is ok with it.
Regards
Ram
-----Original Message-----
From: Takuya UESHIN [mailto:[email protected]]
Sent: Monday, July 25, 2011 10:52 AM
To: [email protected]; [email protected]
Subject: Re: problem when change zookeeper.znode.parent
Hi, Ram.
Thanks for reply.
I'm using cdh3u0 (0.90.1+15.18).
And yes, when I used HBaseAdmin, I got the similar stacktrace as follows.
11/07/25 14:08:44 INFO
client.HConnectionManager$HConnectionImplementation: ZooKeeper
available but no active master location found
11/07/25 14:08:44 INFO
client.HConnectionManager$HConnectionImplementation: getMaster attempt
9 of 10 failed; no more retrying.
org.apache.hadoop.hbase.MasterNotRunningException
at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.
getMaster(HConnectionManager.java:356)
at
org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:90)
But when I used HTable, it was hung at the stacktrace pasted before.
Thanks!
2011/7/25 Ramkrishna S Vasudevan <[email protected]>:
> Hi,
> Which version of HBASE are you using?
>
> In HBASE-0.90.x version i get the following stack trace when the client
> tries to connect to the master.
>
>
> 11/07/25 10:13:16 INFO
client.HConnectionManager$HConnectionImplementation:
> ZooKeeper available but no active master location found
> 11/07/25 10:13:16 INFO
client.HConnectionManager$HConnectionImplementation:
> getMaster attempt 6 of 10 failed; retrying after sleep of 4000
> org.apache.hadoop.hbase.MasterNotRunningException
> at
>
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.
> getMaster(HConnectionManager.java:357)
> at
> org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:94)
> at com.sample.ExampleClient.main(ExampleClient.java:33)
>
> Are you not getting this?
>
> Regards
> Ram
>
>
****************************************************************************
> ***********
> This e-mail and attachments contain confidential information from HUAWEI,
> which is intended only for the person or entity whose address is listed
> above. Any use of the information contained herein in any way (including,
> but not limited to, total or partial disclosure, reproduction, or
> dissemination) by persons other than the intended recipient's) is
> prohibited. If you receive this e-mail in error, please notify the sender
by
> phone or email immediately and delete it!
>
>
> -----Original Message-----
> From: Takuya UESHIN [mailto:[email protected]]
> Sent: Sunday, July 24, 2011 7:21 PM
> To: [email protected]
> Subject: Re: problem when change zookeeper.znode.parent
>
> Thanks for reply.
>
> Yes, it was using a default.
>
> I paste the stacktrace where it was hung.
>
>
> Object.wait(long) line: not available [native method]
> RootRegionTracker(ZooKeeperNodeTracker).blockUntilAvailable(long) line:
122
>
> RootRegionTracker.waitRootRegionLocation(long) line: 73
> HConnectionManager$HConnectionImplementation.locateRegion(byte[],
> byte[], boolean) line: 578
> HConnectionManager$HConnectionImplementation.locateRegion(byte[],
> byte[]) line: 558
> HConnectionManager$HConnectionImplementation.locateRegionInMeta(byte[],
> byte[], byte[], boolean, Object) line: 687
> HConnectionManager$HConnectionImplementation.locateRegion(byte[],
> byte[], boolean) line: 589
> HConnectionManager$HConnectionImplementation.locateRegion(byte[],
> byte[]) line: 558
> HConnectionManager$HConnectionImplementation.locateRegionInMeta(byte[],
> byte[], byte[], boolean, Object) line: 687
> HConnectionManager$HConnectionImplementation.locateRegion(byte[],
> byte[], boolean) line: 593
> HConnectionManager$HConnectionImplementation.locateRegion(byte[],
> byte[]) line: 558
> HTable.<init>(Configuration, byte[]) line: 171
> HTable.<init>(Configuration, String) line: 145
> HBaseTest.test() line: 45
>
>
> Is this useful for you?
>
> Thanks!
>
>
>
> 2011/7/24 Stack <[email protected]>:
>> I agree that it should throw an exception.
>>
>> Was it using a default? Can you tell where it was hung?
>>
>> St.Ack
>>
>> On Sat, Jul 23, 2011 at 6:38 AM, Takuya UESHIN <[email protected]>
> wrote:
>>> Hi,
>>>
>>> I manage HBase cluster changing configuration like
>>>
>>> <property>
>>> <name>zookeeper.znode.parent</name>
>>> <value>/master</value>
>>> </property>
>>>
>>> for a replication purpose.
>>>
>>> When I wrote a client application but made mistake that I forgot to
>>> add the configuration above,
>>> I was kept waiting because ZooKeeper didn't response.
>>>
>>> I'd expect that some exception should be thrown, or are there any
>>> reasons not to throw?
>>>
>>> Thanks!
>>>
>>> --
>>> Takuya UESHIN
>>> Tokyo, Japan
>>>
>>> http://twitter.com/ueshin
>>>
>>
>
>
>
> --
> Takuya UESHIN
> Tokyo, Japan
>
> http://twitter.com/ueshin
>
>
--
Takuya UESHIN
Tokyo, Japan
http://twitter.com/ueshin