We only guarantee that the server can read by a client which major version is the same with the server or less than 1. We do not guarantee the compatibility where the major version gap is greater than 1.
So you'd better try upgrade your hive version, or build your own hive version to upgrade the hbase client version to at least 1.x. Thanks. Miao Wang <wang_m1...@163.com> 于2024年9月9日周一 17:47写道: > > > > > The hive-hbase-handler refers to hbase.Hadoop1.version=0.98.3-Hadoop1, which > is a hbase of 0.98 . I'm really sorry, the version didn't make it clear, Can > this version set hbase.meta.replicas.use=true to read data from hbase2. x > > > > > > > > > > > > At 2024-09-09 15:56:00, "张铎(Duo Zhang)" <palomino...@gmail.com> wrote: > >I checked the code in hbase, even for branch-1.0, there is no > >HConnectionManager$HConnectionImplementation any more. HBase 0.98 > >still has this class. > > > >Could you please check the hbase jars for your hive installation? Is > >it hbase 1.x or 0.98? > > > >Thanks. > > > >Miao Wang <wang_m1...@163.com> 于2024年9月9日周一 14:20写道: > >> > >> > >> > >> > >> Okay,The cluster is deployed using CDH, and Hive is a built-in version of > >> CDH, here is the information in the log: > >> > >> > >> > >> > >> ERROR [main]: CliDriver (SessionState.java:printError(1103)) - Failed > >> with exception > >> java.io.IOException:org.apache.hadoop.hbase.exceptions.UnknownProtocolException: > >> org.apache.hadoop.hbase.exceptions.UnknownProtocolException: Is this a > >> pre-hbase-1.0.0 or asynchbase client? Client is invoking > >> getClosestRowBefore removed in hbase-2.0.0 replaced by reverse Scan. > >> > >> at > >> org.apache.hadoop.hbase.regionserver.RSRpcServices.get(RSRpcServices.java:2569) > >> > >> at > >> org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:45815) > >> > >> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:392) > >> > >> at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133) > >> > >> at > >> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:354) > >> > >> at > >> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:334) > >> > >> > >> > >> > >> java.io.IOException: > >> org.apache.hadoop.hbase.exceptions.UnknownProtocolException: > >> org.apache.hadoop.hbase.exceptions.UnknownProtocolException: Is this a > >> pre-hbase-1.0.0 or asynchbase client? Client is invoking > >> getClosestRowBefore removed in hbase-2.0.0 replaced by reverse Scan. > >> > >> at > >> org.apache.hadoop.hbase.regionserver.RSRpcServices.get(RSRpcServices.java:2569) > >> > >> at > >> org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:45815) > >> > >> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:392) > >> > >> at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133) > >> > >> at > >> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:354) > >> > >> at > >> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:334) > >> > >> > >> > >> > >> at > >> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:508) > >> > >> at > >> org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:415) > >> > >> at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:140) > >> > >> at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:2069) > >> > >> at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:246) > >> > >> at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:175) > >> > >> at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:389) > >> > >> at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:781) > >> > >> at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:699) > >> > >> at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:634) > >> > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >> > >> at > >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > >> > >> at > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > >> > >> at java.lang.reflect.Method.invoke(Method.java:497) > >> > >> at org.apache.hadoop.util.RunJar.run(RunJar.java:221) > >> > >> at org.apache.hadoop.util.RunJar.main(RunJar.java:136) > >> > >> Caused by: org.apache.hadoop.hbase.exceptions.UnknownProtocolException: > >> org.apache.hadoop.hbase.exceptions.UnknownProtocolException: Is this a > >> pre-hbase-1.0.0 or asynchbase client? Client is invoking > >> getClosestRowBefore removed in hbase-2.0.0 replaced by reverse Scan. > >> > >> at > >> org.apache.hadoop.hbase.regionserver.RSRpcServices.get(RSRpcServices.java:2569) > >> > >> at > >> org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:45815) > >> > >> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:392) > >> > >> at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133) > >> > >> at > >> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:354) > >> > >> at > >> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:334) > >> > >> > >> > >> > >> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > >> > >> at > >> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > >> > >> at > >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > >> > >> at java.lang.reflect.Constructor.newInstance(Constructor.java:422) > >> > >> at > >> org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106) > >> > >> at > >> org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95) > >> > >> at > >> org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRemoteException(ProtobufUtil.java:332) > >> > >> at > >> org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRowOrBefore(ProtobufUtil.java:1598) > >> > >> at > >> org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegionInMeta(ConnectionManager.java:1415) > >> > >> at > >> org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1215) > >> > >> at > >> org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1195) > >> > >> at > >> org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1152) > >> > >> at > >> org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getRegionLocation(ConnectionManager.java:987) > >> > >> at > >> org.apache.hadoop.hbase.client.HRegionLocator.getRegionLocation(HRegionLocator.java:83) > >> > >> at > >> org.apache.hadoop.hbase.mapreduce.TableInputFormatBase.getSplits(TableInputFormatBase.java:278) > >> > >> at > >> org.apache.hadoop.hive.hbase.HiveHBaseTableInputFormat.getSplitsInternal(HiveHBaseTableInputFormat.java:377) > >> > >> at > >> org.apache.hadoop.hive.hbase.HiveHBaseTableInputFormat.getSplits(HiveHBaseTableInputFormat.java:304) > >> > >> at > >> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextSplits(FetchOperator.java:363) > >> > >> at > >> org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:295) > >> > >> at > >> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:446) > >> > >> ... 15 more > >> > >> Caused by: > >> org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.exceptions.UnknownProtocolException): > >> org.apache.hadoop.hbase.exceptions.UnknownProtocolException: Is this a > >> pre-hbase-1.0.0 or asynchbase client? Client is invoking > >> getClosestRowBefore removed in hbase-2.0.0 replaced by reverse Scan. > >> > >> at > >> org.apache.hadoop.hbase.regionserver.RSRpcServices.get(RSRpcServices.java:2569) > >> > >> at > >> org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:45815) > >> > >> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:392) > >> > >> at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133) > >> > >> at > >> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:354) > >> > >> at > >> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:334) > >> > >> > >> > >> > >> at org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1272) > >> > >> at > >> org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:227) > >> > >> at > >> org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:336) > >> > >> at > >> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.get(ClientProtos.java:34070) > >> > >> at > >> org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRowOrBefore(ProtobufUtil.java:1594) > >> > >> ... 27 more > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> At 2024-09-09 14:04:42, "张铎(Duo Zhang)" <palomino...@gmail.com> wrote: > >> >Could you please provide the full stack trace which includes the > >> >client side code? > >> > > >> >We need to find out why we call this method at client side. > >> > > >> >Thanks. > >> > > >> >Miao Wang <wang_m1...@163.com> 于2024年9月9日周一 12:05写道: > >> >> > >> >> Hi, community > >> >> > >> >> > >> >> I access the HBase cluster online by creating an HBase appearance > >> >> using Hive, > >> >> Hive version: 1.1.0(hbase1.x) Hbase version: 2.4.16. The following > >> >> exception occurred when accessing Hbase: > >> >> > >> >> > >> >> Failed with exception > >> >> java.io.IOException:org.apache.hadoop.hbase.exceptions.UnknownProtocolException: > >> >> org.apache.hadoop.hbase.exceptions.UnknownProtocolException: Is this a > >> >> pre-hbase-1.0.0 or asynchbase client? Client is invoking > >> >> getClosestRowBefore removed in hbase-2.0.0 replaced by reverse Scan. > >> >> at > >> >> org.apache.hadoop.hbase.regionserver.RSRpcServices.get(RSRpcServices.java:2569) > >> >> at > >> >> org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:45815) > >> >> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:392) > >> >> at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133) > >> >> at > >> >> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:354) > >> >> at > >> >> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:334) > >> >> > >> >> > >> >> > >> >> > >> >> Found that the parameter aaa can be set hbase.meta.replicas.use=true to > >> >> avoid the aforementioned errors,we have not enabled the coprocessor. We > >> >> are only using Hive for simple queries. Can we use the above parameters > >> >> to avoid the issue of inconsistent clients > >> >>