Hi Zhong,

Are you using Ruby for the development or Java ?

-----Original Message-----
From: Zhong, Andy [mailto:[email protected]] 
Sent: Friday, August 26, 2011 10:04 AM
To: [email protected]
Subject: RE: rest web service with hbase

The Resteasy web services has been used by us to handle realtime multi-threaded 
write/reading from Hbase, and the performance is quite decent. 

-----Original Message-----
From: Stuti Awasthi [mailto:[email protected]]
Sent: Thursday, August 25, 2011 11:20 PM
To: [email protected]
Subject: RE: rest web service with hbase

Hi Vincent,
 We also started looking at Massive record and thrift interface. It is working 
quite smoothly till now but I was just wondering that we have to pass through 
many interface layers to access Hbase ( like ruby client -> rails -> massive 
record -> thrift -> Hbase and vice versa )

For the small application performance is fine but what about the performance 
with big data applications. Are these not slowing the client
- server interaction to some extent.

Please put your thoughts on this.

Thanks


-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Thursday, August 25, 2011 4:25 PM
To: [email protected]
Subject: Re: rest web service with hbase

Hi,

I don't really know about the REST client but here at Companybook we are using 
MassiveRecord, which provides a basic thrift wrapper and an ORM if you want to 
go further.
It's really advanced and work with the latest HBase (I see that HBase client 
hasn't been updated since 2 years now... HBase got massive updates since that 
time).

Hope that help!


On Thu, Aug 25, 2011 at 11:59 AM, stuti <[email protected]> wrote:

>
> Hi friends,
>
> I am stuck with my development as I want my ruby client should 
> interact with REST interface to connect to Hbase. To attain this I 
> installed sishen-hbase-ruby gem and hbase-ruby gem on my Ubuntu box.
> I tried to query a  table present in Hbase using the following code 
> but it is giving error.
>
> Code snippet :
>
> require 'rubygems'
> require 'hbase'
>
> client = HBase::Client.new("http://localhost:8080/";)            # this
url
> is
> the default.
> table = client.show_table('userstable')                       # show
the
> meta
> info of table users
>
> Error on Console :
>
> /usr/local/lib/ruby/gems/1.9.1/gems/sishen-hbase-ruby-
> 1.0/lib/hbase/operation/table_operation.rb:9:in `rescue in
show_table':
> Table
> 'userstable' Not found (HBase::TableNotFoundError)
>        from /usr/local/lib/ruby/gems/1.9.1/gems/sishen-hbase-ruby-
> 1.0/lib/hbase/operation/table_operation.rb:5:in `show_table'
>        from /home/hadoop/Hbase_Script/Test.rb:10:in `<main>'
>
> Error in Hbase Rest server logs :
>
> 2011-08-25 15:10:56,701 DEBUG
>
>
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementat
ion:
> Cached location for .META.,,1.1028785192 is localhost:36169
> 2011-08-25 15:10:56,728 DEBUG
> org.apache.hadoop.hbase.rest.RowResource: GET 
> http://localhost:8080/api/userstable
> 2011-08-25 15:10:56,762 INFO org.apache.zookeeper.ZooKeeper:
> Initiating client connection, connectString=localhost:2181
> sessionTimeout=180000 watcher=hconnection
> 2011-08-25 15:10:56,765 INFO org.apache.zookeeper.ClientCnxn: Opening 
> socket connection to server localhost/10.33.100.107:2181
> 2011-08-25 15:10:56,765 INFO org.apache.zookeeper.ClientCnxn: Socket 
> connection established to localhost/10.33.100.107:2181, initiating 
> session
> 2011-08-25 15:10:56,778 INFO org.apache.zookeeper.ClientCnxn: Session 
> establishment complete on server localhost/10.33.100.107:2181, 
> sessionid = 0x131fc710262001f, negotiated timeout = 40000
> 2011-08-25 15:10:56,790 DEBUG
>
>
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementat
ion:
> Lookedup root region location,
>
> connection=org.apache.hadoop.hbase.client.HConnectionManager$HConnecti
> onImplemen
> tation@1acee78; hsa=localhost:36169
> 2011-08-25 15:10:56,791 DEBUG
>
>
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementat
ion:
> Cached location for .META.,,1.1028785192 is localhost:36169
> 2011-08-25 15:10:56,803 WARN
>
>
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementat
ion:
> Encountered problems when prefetch META table:
> org.apache.hadoop.hbase.TableNotFoundException: Cannot find row in
.META.
> for
> table: api, row=api,,99999999999999
>            at
>
org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:136
)
>            at
>
org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:95)
>            at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplement
> ation.pref
> etchRegionCache(HConnectionManager.java:648)
>            at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplement
> ation.loca
> teRegionInMeta(HConnectionManager.java:702)
>            at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplement
> ation.loca
> teRegion(HConnectionManager.java:593)
>            at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplement
> ation.loca
> teRegion(HConnectionManager.java:558)
>            at
> org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:172)
> ........................
> 2011-08-25 15:10:56,807 ERROR org.mortbay.log: /api/userstable
> java.lang.RuntimeException:
org.apache.hadoop.hbase.TableNotFoundException:
> api
>            at
>
> org.apache.hadoop.hbase.client.HTableFactory.createHTableInterface(HTa
> bleFactory
> .java:38)
>            at
>
org.apache.hadoop.hbase.client.HTablePool.createHTable(HTablePool.java:1
33)
>            at
> org.apache.hadoop.hbase.client.HTablePool.getTable(HTablePool.java:89)
>            at org.apache.hadoop.hbase.rest.RowResultGenerator.<init>
> (RowResultGenerator.java:49)
>            at
>
> org.apache.hadoop.hbase.rest.ResultGenerator.fromRowSpec(ResultGenerat
> or.java:35
> )
>            at
> org.apache.hadoop.hbase.rest.RowResource.get(RowResource.java:85)
>            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method) ................
> Caused by: org.apache.hadoop.hbase.TableNotFoundException: api
>            at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplement
> ation.loca
> teRegionInMeta(HConnectionManager.java:724)
>            at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplement
> ation.loca
> teRegion(HConnectionManager.java:593)
>            at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplement
> ation.loca
> teRegion(HConnectionManager.java:558)
>            at
org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:172)
>            at
>
> org.apache.hadoop.hbase.client.HTableFactory.createHTableInterface(HTa
> bleFactory
> .java:36)
>            ... 43 more
>
>
> I am able to hit http://localhost:8080 from the browser and it gives 
> me all the tables present.I have no clue why it is adding 
> /api/userstable in the url .
>
> Please tell me how can I resolve it or if there is some other forum to

> which I can point this issue.
>
> Thanks
>
>
>
>

::DISCLAIMER::
------------------------------------------------------------------------
-----------------------------------------------

The contents of this e-mail and any attachment(s) are confidential and intended 
for the named recipient(s) only.
It shall not attach any liability on the originator or HCL or its affiliates. 
Any views or opinions presented in this email are solely those of the author 
and may not necessarily reflect the opinions of HCL or its affiliates.
Any form of reproduction, dissemination, copying, disclosure, modification, 
distribution and / or publication of this message without the prior written 
consent of the author of this e-mail is strictly prohibited. If you have 
received this email in error please delete it and notify the sender 
immediately. Before opening any mail and attachments please check them for 
viruses and defect.

------------------------------------------------------------------------
-----------------------------------------------

This message, including any attachments, is the property of Sears Holdings 
Corporation and/or one of its subsidiaries. It is confidential and may contain 
proprietary or legally privileged information. If you are not the intended 
recipient, please delete it without reading the contents. Thank you.

Reply via email to