[ https://issues.apache.org/jira/browse/HIVE-2935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13545973#comment-13545973 ]
Nicolas Fouché commented on HIVE-2935:
--------------------------------------
Using CDH 4.1.2, which includes this patch. I think there's a problem with hive-jdbc which includes a JDBC driver for the two version of hiveserver.
For the first version of hiveserver, hive-jdbc-0.9.0-cdh4.1.2 depends on libthrift-1.5.0, which defines org.apache.thrift.TServiceClient as an Interface.
For hiveserver2, hive-jdbc-0.9.0-cdh4.1.2 depends on hive-service-0.9.0-cdh4.1.2, which depends on hive-service-0.9.0-cdh4.1.2. The later seems to include code from libthrift, and defines org.apache.thrift.TServiceClient as an abstract class.
Thus this happens:
java.lang.IncompatibleClassChangeError: class org.apache.hive.service.cli.thrift.TCLIService$Client has interface org.apache.thrift.TServiceClient as super class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:157)
at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:96)
Of course, I just have to remove libthrift from my libpath. But I just wanted to make Carl Steinbach know. (I used maven-dependency-plugin to get all dependent JARs, without thinking about what would be useless, or incompatible)
> Implement HiveServer2
> ---------------------
>
> Key: HIVE-2935
> URL: https://issues.apache.org/jira/browse/HIVE-2935
> Project: Hive
> Issue Type: New Feature
> Components: Server Infrastructure
> Reporter: Carl Steinbach
> Assignee: Carl Steinbach
> Labels: HiveServer2
> Attachments: beelinepositive.tar.gz, HIVE-2935.1.notest.patch.txt, HIVE-2935.2.notest.patch.txt, HIVE-2935.2.nothrift.patch.txt, HS2-changed-files-only.patch, HS2-with-thrift-patch-rebased.patch
解决办法。去除apach 下冲突thrift.jar包
<!-- https://mvnrepository.com/artifact/org.apache.thrift/libthrift -->
<exclusion>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
</exclusion>
>
分享到:
相关推荐
基于springboot1.5.2实现websocket广播和点对点通讯。
SpringBoot 1.5.2 集成 Kafka 的简单例子 SpringBoot 1.5.2 版本发布以来,对于 Spring 项目中的 Kafka 集成变得更加简便。通过添加依赖项和配置文件,可以轻松地实现 Kafka 的集成。 1. 添加依赖项 首先,需要...
在Spring Boot 1.5.2版本中,Java Persistence API (JPA) 是一个非常流行的ORM框架,用于处理关系数据库的映射。本教程将深入探讨如何在Spring Boot项目中设置和使用ManyToMany关联,以及如何解决在此过程中可能出现...
JRebel 7.x + SpringBoot 1.5.2.RELEASE BUG 启动报错解决方案-附件资源
6. 测试:使用`@SpringBootTest`进行集成测试,确保所有组件协同工作。 通过以上步骤,我们可以构建出一个基于Spring Boot 1.5.2的微服务示例,体验其简洁高效的开发方式。同时,这个过程也展示了Spring Boot如何与...
SpringBoot1.5.2、thymeleaf、quartz2.3.0、iview、vue、layer、AdminLTE、bootstrap 启动说明 项目使用的数据库为MySql,选择resources/sql中的tables_mysql_innodb.sql文件初始化数据库信息。 在resources/...
本文件是springboot1.5.2的启动配置文件(META-INF/spring.factories),容器启动时会自动加载该文件并根据其中配置的内容实例化各个类
基于spring-boot+quartz的CRUD动态任务管理系统,适用于中小项目。...SpringBoot1.5.2、thymeleaf、quartz2.3.0、iview、vue、layer、AdminLTE、bootstrap 码云下载:https://gitee.com/52itstyle/spring-boot-quartz
hadoop2.6.3-spark1.5.2-hbase-1.1.2-hive-1.2.1-zookeeper-3.4.6安装指南
在本案例中,我们关注的两个关键组件是`apr-1.5.2.tar.gz`和`apr-util-1.5.2.tar.gz`。 `apr`全称为"Apache Portable Runtime",它是Apache项目的一个核心部分,提供了一组跨平台的底层系统接口。这些接口包括文件I...
《Minecraft 1.5.2简单整合:深入探索游戏世界》 Minecraft,这款深受全球玩家喜爱的沙盒建造游戏,在1.5.2版本中,为玩家们提供了一个充满无限可能的游戏环境。"Minecraft 1.5.2简单整合"是针对这一经典版本进行的...
《jQuery 1.5.2:经典版本的深入解析》 jQuery,作为一款广泛使用的JavaScript库,极大地简化了网页的DOM操作、事件处理、动画设计和Ajax交互。本篇文章将聚焦于jQuery 1.5.2这一经典版本,探讨其核心特性、改进...
- Arduino IDE:集成开发环境,用于编写和上传代码。 - 示例代码:预装了一些基本和进阶的示例程序,供用户参考和学习。 - 驱动程序:用于与计算机通信的USB驱动,确保电脑能够识别Arduino板。 - 库文件:包含了各种...
seata 1.5.2
微软语音合成助手1.5.2微软语音合成助手1.5.2微软语音合成助手1.5.2微软语音合成助手1.5.2
**jQuery 1.5.2 库详解** jQuery 是一个高效、简洁且强大的JavaScript库,它的出现极大地简化了JavaScript的前端开发工作。本篇将详细探讨jQuery 1.5.2版本,包括其核心功能、特性以及在项目中的实际应用。 ### 1....
总的来说,OSGExp1.5.2对于3ds Max用户来说是一个非常有价值的工具,它增强了3ds Max的导出能力,提供了与Open Scene Graph生态系统的紧密集成,从而提升了3D模型在不同环境下的应用和共享。通过安装压缩包中的...
它提供了全面的API,使得开发者能够方便地集成到自己的控制系统中。 **架构设计** 2.1 主站模块 主站模块负责管理整个 EtherCAT 网络,包括配置、初始化和周期性通信。该文档详细介绍了主站模块的功能和操作流程。 ...