我将hbase 0.94.1与hadoop 1.2.1结合使用,并使用thrift api从c应用程序访问hbase中存储的表。我可以连接到服务器,但在从客户端执行任何操作时,cli日志中会出现以下错误:
14/03/11 12:18:53 WARN client.HConnectionManager$HConnectionImplementation: Encountered problems when prefetch META table:
org.apache.hadoop.hbase.TableNotFoundException: Cannot find row in .META. for table: tblAssetsView, row=t\x00\x00\x00b\x00\x00\x00l\x00\x00\x00A\x00\x00\x00s\x00\x00\x00s\x00\x00\x00e\x00\x00\x00t\x00\x00\x00s\x00\x00\x00V\x00\x00\x00i\x00\x00\x00e\x00\x00\x00w\x00\x00\x00,,99999999999999
at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:151)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.prefetchRegionCache(HConnectionManager.java:1059)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:1121)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:1001)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:958)
at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:251)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:155)
at org.apache.hadoop.hbase.thrift.ThriftServerRunner$HBaseHandler.getTable(ThriftServerRunner.java:458)
at org.apache.hadoop.hbase.thrift.ThriftServerRunner$HBaseHandler.getTable(ThriftServerRunner.java:464)
at org.apache.hadoop.hbase.thrift.ThriftServerRunner$HBaseHandler.getRowWithColumnsTs(ThriftServerRunner.java:766)
at org.apache.hadoop.hbase.thrift.ThriftServerRunner$HBaseHandler.getRow(ThriftServerRunner.java:739)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.hbase.thrift.HbaseHandlerMetricsProxy.invoke(HbaseHandlerMetricsProxy.java:65)
at com.sun.proxy.$Proxy6.getRow(Unknown Source)
at org.apache.hadoop.hbase.thrift.generated.Hbase$Processor$getRow.getResult(Hbase.java:3906)
at org.apache.hadoop.hbase.thrift.generated.Hbase$Processor$getRow.getResult(Hbase.java:3894)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
at org.apache.hadoop.hbase.thrift.TBoundedThreadPoolServer$ClientConnnection.run(TBoundedThreadPoolServer.java:287)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
14/03/11 12:18:53 WARN thrift.ThriftServerRunner$HBaseHandler: tblAssetsView
org.apache.hadoop.hbase.TableNotFoundException: tblAssetsView
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:1139)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:1001)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:958)
at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:251)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:155)
at org.apache.hadoop.hbase.thrift.ThriftServerRunner$HBaseHandler.getTable(ThriftServerRunner.java:458)
at org.apache.hadoop.hbase.thrift.ThriftServerRunner$HBaseHandler.getTable(ThriftServerRunner.java:464)
at org.apache.hadoop.hbase.thrift.ThriftServerRunner$HBaseHandler.getRowWithColumnsTs(ThriftServerRunner.java:766)
at org.apache.hadoop.hbase.thrift.ThriftServerRunner$HBaseHandler.getRow(ThriftServerRunner.java:739)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.hbase.thrift.HbaseHandlerMetricsProxy.invoke(HbaseHandlerMetricsProxy.java:65)
at com.sun.proxy.$Proxy6.getRow(Unknown Source)
at org.apache.hadoop.hbase.thrift.generated.Hbase$Processor$getRow.getResult(Hbase.java:3906)
at org.apache.hadoop.hbase.thrift.generated.Hbase$Processor$getRow.getResult(Hbase.java:3894)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
at org.apache.hadoop.hbase.thrift.TBoundedThreadPoolServer$ClientConnnection.run(TBoundedThreadPoolServer.java:287)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
但我可以从hbase shell访问我的表,并执行所有shell操作。我完全被困在这里,请想出一些方法来克服这个问题。
1条答案
按热度按时间vlf7wbxs1#
我遇到了这个错误
最后发现我用错了配置文件,我有两个集群,我用了另一个集群的配置文件。
也许你的配置有问题