hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From stuti <stutiawas...@hcl.com>
Subject Re: rest web service with hbase
Date Thu, 25 Aug 2011 09:59:39 GMT

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$HConnectionImplementation: 
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$HConnectionImplementation: 
Lookedup root region location, 
connection=org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplemen
tation@1acee78; hsa=localhost:36169
2011-08-25 15:10:56,791 DEBUG 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation: 
Cached location for .META.,,1.1028785192 is localhost:36169
2011-08-25 15:10:56,803 WARN 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation: 
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$HConnectionImplementation.pref
etchRegionCache(HConnectionManager.java:648)
            at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.loca
teRegionInMeta(HConnectionManager.java:702)
            at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.loca
teRegion(HConnectionManager.java:593)
            at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.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(HTableFactory
.java:38)
            at 
org.apache.hadoop.hbase.client.HTablePool.createHTable(HTablePool.java:133)
            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(ResultGenerator.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$HConnectionImplementation.loca
teRegionInMeta(HConnectionManager.java:724)
            at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.loca
teRegion(HConnectionManager.java:593)
            at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.loca
teRegion(HConnectionManager.java:558)
            at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:172)
            at 
org.apache.hadoop.hbase.client.HTableFactory.createHTableInterface(HTableFactory
.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




Mime
View raw message