当前位置: 首页 > 知识库问答 >
问题:

无法从webapp通过JDBC连接到配置单元

年高洁
2023-03-14

我已经使用JDBC api连接到HIVE2,这里提到,它是成功的,所以为了方便访问,我想到创建一个webapp,使用JSP作为前端页面来输入服务器名称和查询。虽然从JSP页面到servlet的所有参数都被正确解析,但它在连接到配置单元服务器时引发了一个错误,这是将libthrift和配置单元JAR放置在WEB-INF/lib目录中的必要条件,我同时放置在WEB-INF/lib和classpath中。

问题是hive jar首先出现在WEB-INF/Lib中,并且它没有“org.apache.thrift.protocol.tprotocol.getScheme()”方法,所以我一直没有得到这样的方法错误。我参考了这里和这里,并将libthrift jar移动到WEB-INF/classes中,但它确实有所帮助:

Jar版本:libthrift-0.9.3和hive-0.4.1

共有1个答案

阳兴文
2023-03-14

如果你的蜂巢版本是最近的,你可以...

  • 获取最近的驱动程序,如http://central.maven.org/maven2/org/apache/hive/hive-jdbc/2.0.0/
  • 我指的是独立的JAR,以消除类路径问题
  • 虽然“独立”的promise并不是百分之百正确,因为您仍然需要几个额外的Hadoop jar。Apache Hive JDBC驱动程序在哪里下载

但是,唉,您不能使用比您的服务器更新的驱动程序--这里是V0.13,即没有“独立”驱动程序jar的最后一个版本。因此,您需要收集一大堆Hive jar,加上几个Hadoop jar和各种依赖项,如libfb303-*.jarlibthrift-*.jar

$unzip-l libthrift-0.9.2.jar grep org.apache.thrift.protocol.tprotocol.class

2958 11-05-2014 03:47 org/apache/thrift/protocol/tprotocol.class

 类似资料:
  • 我正在我的ubuntu上运行Hive2,并尝试通过hive接口和Beeline\JDBC创建表。我通过配置单元接口创建表没有问题,但是当通过jdbc访问时,我得到一个权限被拒绝的错误。 从异常中,我看到它试图在一个不存在的目录中创建表(/user/hive/warehouse/...) 那么它为什么要在/user/hive/warehouse下创建metastore_db呢?

  • 这几天来,我无法在本地运行mac os ML的机器上连接到我的postgreSQL数据库。 我机器的nmap显示postgres在5432上运行,我可以通过pgadmin和psql进行本地连接。 收听地址设置为* 当我尝试连接JDBC时,我会遇到以下异常 组织。postgresql。util。PSQLException:连接被拒绝。检查主机名和端口是否正确,邮政局长是否接受TCP/IP连接。

  • 我使用下面提到的连接URL连接到蜂巢服务器使用直线。 !连接jdbc: hive2://sandbox.hortonworks.com:21000/default; ssl=true; sslTrustStore=/var/lib/Knox/data-2.3.2.0-2950/Security/keystore/gateway.jks; Trust StorePassword=Knox?hive.

  • 然后我给出一个空白的用户名和密码,并得到以下错误: 有人能帮我接通吗

  • 这是我的实体 这是我的主课 这就是我的persistence.xml 堆栈跟踪: