You are running the transactional hbase subclass intentionally? If so, could it be that you are not using the transactional client to match?
St.Ack On Sun, Mar 15, 2009 at 9:13 AM, Cris Daniluk <[email protected]>wrote: > I'm running a pseudo-distributed (for the moment) Hadoop server with > HBase on the same server running with 1 master and 1 region. HBase is > successfully talking to HDFS, has created the hbase directory, etc. In > addition, the master/region server are talking just fine. When I try > to connect with the HBase client, I see the following client-side > error: > > java.io.IOException: java.io.IOException: Unknown protocol to name > node: org.apache.hadoop.hbase.ipc.TransactionalRegionInterface > at > org.apache.hadoop.hbase.regionserver.HRegionServer.getProtocolVersion(HRegionServer.java:2140) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:632) > at > org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:895) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown > Source) > at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown > Source) > at java.lang.reflect.Constructor.newInstance(Unknown Source) > at > org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:95) > at > org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getHRegionConnection(HConnectionManager.java:729) > at > org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRootRegion(HConnectionManager.java:773) > at > org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:448) > at > org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:423) > at > org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:498) > at > org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:457) > at > org.apache.hadoop.hbase.client.HConnectionManager$TableServers.relocateRegion(HConnectionManager.java:430) > at > org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionLocation(HConnectionManager.java:289) > at > org.apache.hadoop.hbase.client.ServerCallable.instantiateServer(ServerCallable.java:57) > at > org.apache.hadoop.hbase.client.ScannerCallable.instantiateServer(ScannerCallable.java:66) > at > org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionServerWithRetries(HConnectionManager.java:827) > at > org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:56) > at > org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:30) > at > org.apache.hadoop.hbase.client.HConnectionManager$TableServers.listTables(HConnectionManager.java:311) > at > org.apache.hadoop.hbase.client.HConnectionManager$TableServers.tableExists(HConnectionManager.java:264) > at > org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:108) > at > org.apache.jackrabbit.hadoop.HBasePersistenceManager.init(HBasePersistenceManager.java:104) > at > org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1339) > ... > 2009-03-15 11:54:06,387 DEBUG stacks[main] > > org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:466): > IPC Client (47) connection to /10.10.115.21:60000 from an unknown user > sending #32 > 2009-03-15 11:54:06,409 DEBUG stacks[IPC Client (47) connection to > /10.10.115.21:60000 from an unknown user] > > org.apache.hadoop.hbase.ipc.HBaseClient$Connection.receiveResponse(HBaseClient.java:501): > IPC Client (47) connection to /10.10.115.21:60000 from an unknown user > got value #32 > > On the server side, I see: > > 2009-03-15 11:54:05,278 INFO org.apache.hadoop.ipc.HBaseServer: IPC > Server handler 7 on 60020, call > > getProtocolVersion(org.apache.hadoop.hbase.ipc.TransactionalRegionInterface, > 15) from 10.178.0.52:64001: error: java.io.IOException: Unknown > protocol to name node: > org.apache.hadoop.hbase.ipc.TransactionalRegionInterface > java.io.IOException: Unknown protocol to name node: > org.apache.hadoop.hbase.ipc.TransactionalRegionInterface > at > org.apache.hadoop.hbase.regionserver.HRegionServer.getProtocolVersion(HRegionServer.java:2140) > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:632) > at > org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:895) > > I'm using Hadoop 0.19.1 with HBase 0.19.0. It was hard to debug to see > why it is sending the subinterface name instead of the interface name > (HRegionInterface), so I can't tell if it is a bug on my end, HBase's > end or something in between. Any help would be appreciated! >
