Unable to connect to HBase using Phoenix JDBC Driver
Feb 01, 2017; 5:21pm
Unable to connect to HBase using Phoenix JDBC Driver
|
9 posts
|
Hi All,
I am trying to connect to HBase using Phoenix JDBC Driver and getting below error:
This is simple implementation of JDBC connection manager.
=============================================================
Caused by: java.lang.IncompatibleClassChangeError: Class org.apache.hadoop.hbase.protobuf.generated.ClusterIdProtos$ClusterId$Builder does not implement the requested interface org.apache.hadoop.hbase.shaded.com.google.protobuf.Message$Builder
at org.apache.hadoop.hbase.protobuf.ProtobufUtil.mergeFrom(ProtobufUtil.java:3154)
at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:69)
at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:75)
at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:105)
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.retrieveClusterId(ConnectionManager.java:879)
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.<init>(ConnectionManager.java:635)
=============================================================
Based on my research it seems, I need to use some shaded package of phoenix-client. I am not able to figure it out.
|
Re: Unable to connect to HBase using Phoenix JDBC Driver
|
9 posts
|
Apologies, I missed important details.
Phoenix version: 4.9.0-HBase-1.1
HBase Version: 1.1.2
On 1 February 2017 at 14:51, Dhaval Modi <[hidden email]> wrote:
... [show rest of quote]
|
Re: Unable to connect to HBase using Phoenix JDBC Driver
|
2 posts
|
Hi Dhaval,
Have you added HBase-protocol jar in your dependencies?
This error shows that you have either the incompatible version of HBase-protocol jar or you are missing it( might be missed out from the classpath).
Try to include the proper version(for this case 1.1.2) of the jar or set this jar as HADOOP_CLASSPATH and see if it works.
Regards,
Kumar Anshuman
|
Re: Unable to connect to HBase using Phoenix JDBC Driver
|
9 posts
|
Thanks Anshuman. It was really helpful.
I added HBase-protocol jar in dependency and it got resolved.
But now I am getting different error:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Caused by: java.lang.IllegalArgumentException: Can't find method newStub in org.apache.phoenix.coprocessor.generated.MetaDataProtos$MetaDataService!
at org.apache.hadoop.hbase.util.Methods.call(Methods.java:45)
at org.apache.hadoop.hbase.protobuf.ProtobufUtil.newServiceStub(ProtobufUtil.java:1675)
at org.apache.hadoop.hbase.client.HTable$16.call(HTable.java:1750)
... 4 more
Caused by: java.lang.NoSuchMethodException: org.apache.phoenix.coprocessor.generated.MetaDataProtos$MetaDataService.newStub(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcChannel)
at java.lang.Class.getMethod(Class.java:1786)
at org.apache.hadoop.hbase.util.Methods.call(Methods.java:38)
... 6 more
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
On 1 February 2017 at 21:07, Kumar Anshuman <[hidden email]> wrote:
|
Re: Unable to connect to HBase using Phoenix JDBC Driver
|
2 posts
|
Hi Dhaval,
This error seems to be due to HBase and Phoenix jar version's mismatch or due to missing of dependency for HBase-protocol-{version}.jar or HBase-protobuff-{version}.jar, you will have to check the proper version of the HBase jars and Phoenix jars used, Please check the versions and validate the different alternatives suggested and try again and inform me if it works or not.
Regards,
Kumar Anshuman
On Wed, Feb 1, 2017 at 9:41 PM, Kumar Anshuman <[hidden email]> wrote:
... [show rest of quote]
|
Re: Unable to connect to HBase using Phoenix JDBC Driver
|
524 posts
|
Sounds like you're using the wrong jar on the server side. Or perhaps you're using a vendor distribution (in which case you'll need to use their supported Phoenix version). Please review the installation instructions as everything you need is in the one single jar.
Thanks,
James
On Wed, Feb 1, 2017 at 9:56 AM Kumar Anshuman <[hidden email]> wrote:
... [show rest of quote]
|
Re: Unable to connect to HBase using Phoenix JDBC Driver
|
9 posts
|
Hi Anshuman & James,
Thanks for your input.
This issue is resolved. The main reason was the use of HBase-shaded-client as forced dependency.
I removed it and issue got resolved.
On 1 February 2017 at 23:38, James Taylor <[hidden email]> wrote:
... [show rest of quote]
|
Re: Unable to connect to HBase using Phoenix JDBC Driver
|
2 posts
|
This post has NOT been accepted by the mailing list yet.
Hi Anshuman, James & Dhaval,
I am facing the same issue on HDP 2.3 with HBase version 1.1.1.2.3 and Phoenix version 4.4.0. I have been struggling to successfully run a MapReduce job that dumps its data into Phoenix. I have already HBase-shaded-client jar, but it doesn't exist on my disk. The MapReduce job that I am running comes bundled with Phoenix (its CSVBulkLoader class). This job is running perfectly fine on my dev cluster which consists of the same stack. I have tried to include hbase-protocol into my application classpath but the error doesn't go away. Please help me as I have been stuck on this issue for long. Thanks for the help :) |
Re: Unable to connect to HBase using Phoenix JDBC Driver
|
2 posts
|
This post has NOT been accepted by the mailing list yet.
The error trace is as follows:
Error: java.lang.RuntimeException: java.sql.SQLException: ERROR 2006 (INT08): Incompatible jars detected between client and server. Ensure that phoenix.jar is put on the classpath of HBase in every region server: Can't find method newStub in org.apache.phoenix.coprocessor.generated.MetaDataProtos$MetaDataService! at org.apache.phoenix.mapreduce.CsvToKeyValueMapper.setup(CsvToKeyValueMapper.java:121) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:143) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162) Caused by: java.sql.SQLException: ERROR 2006 (INT08): Incompatible jars detected between client and server. Ensure that phoenix.jar is put on the classpath of HBase in every region server: Can't find method newStub in org.apache.phoenix.coprocessor.generated.MetaDataProtos$MetaDataService! at org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:386) at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:145) at org.apache.phoenix.query.ConnectionQueryServicesImpl.checkClientServerCompatibility(ConnectionQueryServicesImpl.java:987) at org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:861) at org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:1175) at org.apache.phoenix.query.DelegateConnectionQueryServices.createTable(DelegateConnectionQueryServices.java:112) at org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:1907) at org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:745) at org.apache.phoenix.compile.CreateTableCompiler$2.execute(CreateTableCompiler.java:186) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:305) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:297) at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:295) at org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:1244) at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:1851) at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:1820) at org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:77) at org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:1820) at org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:180) at org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:132) at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:151) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:208) at org.apache.phoenix.util.QueryUtil.getConnection(QueryUtil.java:299) at org.apache.phoenix.mapreduce.CsvToKeyValueMapper.setup(CsvToKeyValueMapper.java:119) ... 8 more Caused by: java.lang.IllegalArgumentException: Can't find method newStub in org.apache.phoenix.coprocessor.generated.MetaDataProtos$MetaDataService! at org.apache.hadoop.hbase.util.Methods.call(Methods.java:45) at org.apache.hadoop.hbase.protobuf.ProtobufUtil.newServiceStub(ProtobufUtil.java:1669) at org.apache.hadoop.hbase.client.HTable$16.call(HTable.java:1750) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NoSuchMethodException: org.apache.phoenix.coprocessor.generated.MetaDataProtos$MetaDataService.newStub(com.google.protobuf.RpcChannel) at java.lang.Class.getMethod(Class.java:1786) at org.apache.hadoop.hbase.util.Methods.call(Methods.java:38) ... 6 more |
Unable to connect to HBase using Phoenix JDBC Driver的更多相关文章
- java.lang.UnsupportedClassVersionError: com/mysql/cj/jdbc/Driver : Unsupported major.minor version 52.0 (unable to load class [com.mysql.cj.jdbc.Driver])
原因: com/mysql/cj/jdbc/Driver是6.0版本的驱动,兼容JDK8环境,不兼容JDK7环境,在基于jdk7的tomcat中编译运行会出错,在基于jdk8的tomcat中编译运行则 ...
- How to use DBVisualizer to connect to Hbase using Apache Phoenix
How to use DBVisualizer to connect to Hbase using Apache Phoenix Article DB Visualizer is a popular ...
- HBase单机安装及Phoenix JDBC连接
HBase是建立在Hadoop文件系统之上的分布式面向列的数据库,它是横向扩展的.它利用了Hadoop的文件系统(HDFS)提供的容错能力. HBase提供对数据的随机实时读/写访问,可以直接HBas ...
- Hbase与Phoenix整合
目录 一.简介 二.安装 三.Phoenix Shell操作 SCHEMA操作 1.创建schema 2.使用schema 3.删除schema 表操作 1.显示所有表 2.创建表 3.表数据的增删改 ...
- Apache Phoenix JDBC 驱动和Spring JDBCTemplate的集成
介绍:Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排运行以生成标准的JDBC结果集. 直接使用HBase API.协同处理器与自己定义过滤器.对于简单查询来说,其性能 ...
- dbeaver can't connect HBase1.2 using phoenix driver #1863
1 第一个问题 Unexpected version format: 10.0.2 Unexpected version format: 10.0.2 Unexpected version forma ...
- 【spring cloud】spring cloud2.X spring boot2.0.4调用feign配置Hystrix Dashboard 和 集成Turbine 【解决:Hystrix仪表盘Unable to connect to Command Metric Stream】【解决:Hystrix仪表盘Loading...】
环境: <java.version>1.8</java.version><spring-boot.version>2.0.4.RELEASE</spring- ...
- Phoneix(二)HBase集成Phoenix安装
一.软件下载 1.访问:http://phoenix.apache.org/ 2.点击: 3.进入以下内容:点击 4.跳转到 5.跳转到 6.点击安装包,进入 点击进行下载: 二.安装 phoneni ...
- telnet报“Unable to connect to remote host:Connection refused”错误
Linux下面telnet ip 端口号 报错误"Unable to connect to remote host:Connection refused"的时候,大部分是目标机的端 ...
随机推荐
- eclipse设置序列化忽略生成serialVersionUID警告
java中的类想要序列化必须实现java.io.Serializable接口,一般实现接口都会用警告信息,提示生成serialVersionUID,虽然我觉得这个应该生成才合理.这里还是记录一下取消生 ...
- 超快速度下载MNIST数据集
Download mnist dataset and extract in 1 second! For Caffe users: create $CAFFE/data/mnist/get_mnist_ ...
- Ubuntu18.04 Pycharm下ModuleNotFoundError: No module named 'deeplab'
1.根据https://www.cnblogs.com/zmbreathing/p/deeplab_v3plus.html在终端中成功运行deeplab的test文件后,在pycharm中出现问题: ...
- 【Android】【问题解决记录】Error obtaining UI hierarchy :Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't exist!
在使用uiautomatorviewer时遇到两类Error obtaining UI hierarchy报错,分别是: Error while obtaining UI hierarchy XML ...
- xadmin引入django-import-export导入功能
一.安装 由于xadmin自带的包里面已经包含了django-import-export 所以不用再pip install django-import-export了 但是xadmin管理后台只有导出 ...
- 一个从tensorflow_1.14.0-gpu-py3-jupyter镜像生成公司实际需求的Dockerfile
外部的标准镜像,肯定满足不了公司的实际要求咯~~ 所以,根据同事的需求,重新制作了这个包. 其中可用库为tensorflow,numpy, pandas,scikit-learn,jieba,gens ...
- docker删除镜像Error response from daemon: conflict: unable to remove repository reference
Docker无法删除images,由于是依赖container. 1.进入root权限 sudo su 2. 列出所有运行或没有运行的镜像 docker ps -a 3.停止containe ...
- 为什么说JAVA程序员必须掌握SpringBoot?
原文链接:https://w.url.cn/s/AuDahfb SpringBoot 2.0 的推出又激起了一阵学习 SpringBoot 热,那么, SpringBoot 诞生的背景是什么?Spri ...
- VMWare中CentOS 7 配置 XShell连接
https://jingyan.baidu.com/article/363872ec796dfc6e4ba16f09.html http://www.cnblogs.com/iskylite/p/76 ...
- js规范思维导图(仅限于自己)
