`
tongjun_zhou
  • 浏览: 28116 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

springboot 1.5.2 集成hive 报错。

 
阅读更多
  [ 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广播和点对点通讯【源码】

    基于springboot1.5.2实现websocket广播和点对点通讯。

    springboot 1.5.2 集成kafka的简单例子

    SpringBoot 1.5.2 集成 Kafka 的简单例子 SpringBoot 1.5.2 版本发布以来,对于 Spring 项目中的 Kafka 集成变得更加简便。通过添加依赖项和配置文件,可以轻松地实现 Kafka 的集成。 1. 添加依赖项 首先,需要...

    springboot 1.5.2 jpa ManyToMany Demo

    在Spring Boot 1.5.2版本中,Java Persistence API (JPA) 是一个非常流行的ORM框架,用于处理关系数据库的映射。本教程将深入探讨如何在Spring Boot项目中设置和使用ManyToMany关联,以及如何解决在此过程中可能出现...

    JRebel 7.x + SpringBoot 1.5.2.RELEASE BUG 启动报错解决方案-附件资源

    JRebel 7.x + SpringBoot 1.5.2.RELEASE BUG 启动报错解决方案-附件资源

    spring boot 1.5.2 微服务demo

    6. 测试:使用`@SpringBootTest`进行集成测试,确保所有组件协同工作。 通过以上步骤,我们可以构建出一个基于Spring Boot 1.5.2的微服务示例,体验其简洁高效的开发方式。同时,这个过程也展示了Spring Boot如何与...

    基于spring-boot+quartz的CRUD动态任务管理系统源码+数据库,适用于中小项目

    SpringBoot1.5.2、thymeleaf、quartz2.3.0、iview、vue、layer、AdminLTE、bootstrap 启动说明 项目使用的数据库为MySql,选择resources/sql中的tables_mysql_innodb.sql文件初始化数据库信息。 在resources/...

    spring.factories

    本文件是springboot1.5.2的启动配置文件(META-INF/spring.factories),容器启动时会自动加载该文件并根据其中配置的内容实例化各个类

    基于spring-boot+quartz的CRUD动态任务管理系统

    基于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安装指南

    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-1.5.2.tar.gz`和`apr-util-1.5.2.tar.gz`。 `apr`全称为"Apache Portable Runtime",它是Apache项目的一个核心部分,提供了一组跨平台的底层系统接口。这些接口包括文件I...

    Minecraft1.5.2简单整合

    《Minecraft 1.5.2简单整合:深入探索游戏世界》 Minecraft,这款深受全球玩家喜爱的沙盒建造游戏,在1.5.2版本中,为玩家们提供了一个充满无限可能的游戏环境。"Minecraft 1.5.2简单整合"是针对这一经典版本进行的...

    jquery-1.5.2最新版

    《jQuery 1.5.2:经典版本的深入解析》 jQuery,作为一款广泛使用的JavaScript库,极大地简化了网页的DOM操作、事件处理、动画设计和Ajax交互。本篇文章将聚焦于jQuery 1.5.2这一经典版本,探讨其核心特性、改进...

    arduino-1.5.2.zip

    - Arduino IDE:集成开发环境,用于编写和上传代码。 - 示例代码:预装了一些基本和进阶的示例程序,供用户参考和学习。 - 驱动程序:用于与计算机通信的USB驱动,确保电脑能够识别Arduino板。 - 库文件:包含了各种...

    seata server 1.5.2

    seata 1.5.2

    微软语音合成助手1.5.2

    微软语音合成助手1.5.2微软语音合成助手1.5.2微软语音合成助手1.5.2微软语音合成助手1.5.2

    jquery-1.5.2 库

    **jQuery 1.5.2 库详解** jQuery 是一个高效、简洁且强大的JavaScript库,它的出现极大地简化了JavaScript的前端开发工作。本篇将详细探讨jQuery 1.5.2版本,包括其核心功能、特性以及在项目中的实际应用。 ### 1....

    OSGExp1.5.2.rar

    总的来说,OSGExp1.5.2对于3ds Max用户来说是一个非常有价值的工具,它增强了3ds Max的导出能力,提供了与Open Scene Graph生态系统的紧密集成,从而提升了3D模型在不同环境下的应用和共享。通过安装压缩包中的...

    IgH EtherCAT Master 1.5.2 Documentation

    它提供了全面的API,使得开发者能够方便地集成到自己的控制系统中。 **架构设计** 2.1 主站模块 主站模块负责管理整个 EtherCAT 网络,包括配置、初始化和周期性通信。该文档详细介绍了主站模块的功能和操作流程。 ...

Global site tag (gtag.js) - Google Analytics