java.lang.ClassNotFoundException: org.apache.hive.service.cli.thrift.TCLIService$Iface
今天编译安装了kettle8.3.10-R版本,然后连上公司的hadoop环境,测试hive2连接时报错:
错误连接数据库 [hive_hdp] : org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the databaseError connecting to database: (using class org.apache.hive.jdbc.HiveDriver)
org/apache/hive/service/cli/thrift/TCLIService$Ifaceorg.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the databaseError connecting to database: (using class org.apache.hive.jdbc.HiveDriver)
org/apache/hive/service/cli/thrift/TCLIService$Ifaceat org.pentaho.di.core.database.Database.normalConnect(Database.java:477)at org.pentaho.di.core.database.Database.connect(Database.java:373)at org.pentaho.di.core.database.Database.connect(Database.java:344)at org.pentaho.di.core.database.Database.connect(Database.java:334)at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:83)at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestResults(DatabaseFactory.java:112)at org.pentaho.di.core.database.DatabaseMeta.testConnectionSuccess(DatabaseMeta.java:2843)at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:631)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:498)at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:313)at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:157)at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:141)at org.pentaho.ui.xul.swt.tags.SwtButton.access$500(SwtButton.java:43)at org.pentaho.ui.xul.swt.tags.SwtButton$4.widgetSelected(SwtButton.java:137)at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)at org.eclipse.jface.window.Window.open(Window.java:796)at org.pentaho.di.ui.xul.KettleDialog.show(KettleDialog.java:89)at org.pentaho.di.ui.xul.KettleDialog.show(KettleDialog.java:56)at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:117)at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:61)at org.pentaho.di.ui.trans.step.BaseStepDialog.showDbDialogUnlessCancelledOrValid(BaseStepDialog.java:813)at org.pentaho.di.ui.trans.step.BaseStepDialog$EditConnectionListener.widgetSelected(BaseStepDialog.java:1521)at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)at org.pentaho.big.data.kettle.plugins.hive.trans.HiveOutputDialog.open(HiveOutputDialog.java:686)at org.pentaho.di.ui.spoon.delegates.SpoonStepsDelegate.editStep(SpoonStepsDelegate.java:120)at org.pentaho.di.ui.spoon.Spoon.editStep(Spoon.java:8814)at org.pentaho.di.ui.spoon.trans.TransGraph.editStep(TransGraph.java:3287)at org.pentaho.di.ui.spoon.trans.TransGraph.mouseDoubleClick(TransGraph.java:785)at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1384)at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7949)at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9331)at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:710)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:498)at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)
Caused by: org.pentaho.di.core.exception.KettleDatabaseException:
Error connecting to database: (using class org.apache.hive.jdbc.HiveDriver)
org/apache/hive/service/cli/thrift/TCLIService$Ifaceat org.pentaho.di.core.database.Database.connectUsingClass(Database.java:590)at org.pentaho.di.core.database.Database.normalConnect(Database.java:461)... 56 more
Caused by: java.lang.NoClassDefFoundError: org/apache/hive/service/cli/thrift/TCLIService$Ifaceat org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)at java.sql.DriverManager.getConnection(DriverManager.java:664)at java.sql.DriverManager.getConnection(DriverManager.java:208)at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:572)... 57 more
Caused by: java.lang.ClassNotFoundException: org.apache.hive.service.cli.thrift.TCLIService$Ifaceat java.net.URLClassLoader.findClass(URLClassLoader.java:381)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)... 61 more
在jvm参数中加上-verbose:class,发现org.apache.hive.service.cli.thrift.TCLIService$Iface类是加载了的。
[Loaded org.apache.hive.jdbc.HiveDriver from file:///D:/etl/8.3/data-integration/plugins/pentaho-big-data-plugin/hadoop-configurations/hdp30/lib/hive-jdbc-3.1.0.3.0.0.0-1634.jar]
于是debug模式启动kettle,发现日志中额外打印如下错误:
11:01:54,401 ERROR [HiveConnection] Error opening session
org.apache.thrift.TApplicationException: Required field 'client_protocol' is unset! Struct:TOpenSessionReq(client_protocol:null, configuration:{set:hiveconf:hive.server2.thrift.resultset.default.fetch.size=1000, use:database=default})at org.apache.thrift.TApplicationException.read(TApplicationException.java:111)at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:79)at org.apache.hive.service.rpc.thrift.TCLIService$Client.recv_OpenSession(TCLIService.java:176)at org.apache.hive.service.rpc.thrift.TCLIService$Client.OpenSession(TCLIService.java:163)at org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:715)at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:228)at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107)at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.pentaho.hadoop.shim.common.invocationhandler.DriverInvocationHandler.invoke(DriverInvocationHandler.java:73)at com.sun.proxy.$Proxy74.connect(Unknown Source)at com.pentaho.big.data.bundles.impl.shim.hive.HiveDriver.doConnect(HiveDriver.java:97)at com.pentaho.big.data.bundles.impl.shim.hive.HiveDriver.connect(HiveDriver.java:78)at org.pentaho.big.data.api.jdbc.impl.LazyDelegatingDriver.lambda$connect$0(LazyDelegatingDriver.java:114)at org.pentaho.big.data.api.jdbc.impl.LazyDelegatingDriver.findAndProcess(LazyDelegatingDriver.java:72)at org.pentaho.big.data.api.jdbc.impl.LazyDelegatingDriver.connect(LazyDelegatingDriver.java:114)at org.pentaho.di.core.database.DelegatingDriver.connect(DelegatingDriver.java:53)at java.sql.DriverManager.getConnection(DriverManager.java:664)at java.sql.DriverManager.getConnection(DriverManager.java:208)at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:572)at org.pentaho.di.core.database.Database.normalConnect(Database.java:461)at org.pentaho.di.core.database.Database.connect(Database.java:373)at org.pentaho.di.core.database.Database.connect(Database.java:344)at org.pentaho.di.core.database.Database.connect(Database.java:334)at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:83)at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestResults(DatabaseFactory.java:112)at org.pentaho.di.core.database.DatabaseMeta.testConnectionSuccess(DatabaseMeta.java:2843)at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:631)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:498)at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:313)at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:157)at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:141)at org.pentaho.ui.xul.swt.tags.SwtButton.access$500(SwtButton.java:43)at org.pentaho.ui.xul.swt.tags.SwtButton$4.widgetSelected(SwtButton.java:137)at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)at org.eclipse.jface.window.Window.open(Window.java:796)at org.pentaho.di.ui.xul.KettleDialog.show(KettleDialog.java:89)at org.pentaho.di.ui.xul.KettleDialog.show(KettleDialog.java:56)at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:117)at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:61)at org.pentaho.di.ui.trans.step.BaseStepDialog.showDbDialogUnlessCancelledOrValid(BaseStepDialog.java:813)at org.pentaho.di.ui.trans.step.BaseStepDialog$EditConnectionListener.widgetSelected(BaseStepDialog.java:1521)at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)at org.pentaho.big.data.kettle.plugins.hive.trans.HiveOutputDialog.open(HiveOutputDialog.java:686)at org.pentaho.di.ui.spoon.delegates.SpoonStepsDelegate.editStep(SpoonStepsDelegate.java:120)at org.pentaho.di.ui.spoon.Spoon.editStep(Spoon.java:8814)at org.pentaho.di.ui.spoon.trans.TransGraph.editStep(TransGraph.java:3287)at org.pentaho.di.ui.spoon.trans.TransGraph.mouseDoubleClick(TransGraph.java:785)at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1384)at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7949)at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9331)at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:710)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:498)at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)
然后搜索Required field ‘client_protocol’ is unset!这个问题,在StackOverflow上找到这个问题:
https://stackoverflow.com/questions/24694415/required-field-client-protocol-is-unset
里面第一个回答就说了为什么会出现这个问题:
因为client和server的版本不匹配,client的jar包版本高于server的版本。
然后对比了版本,果然,client是3.1,server是2.6.
于是换了client的相关jar包后,连接正常。
java.lang.ClassNotFoundException: org.apache.hive.service.cli.thrift.TCLIService$Iface相关推荐
- Hive启动报错:java.lang.ClassNotFoundException: org.apache.tez.dag.api.TezConfiguration
<!--Hive启动报错:Caused by: java.lang.ClassNotFoundException: org.apache.tez.dag.api.TezConfiguration ...
- hive on spark 配置时报错:Job failed with java.lang.ClassNotFoundException: org.apache.spark.AccumulatorPa
1.执行sql语句,报错信息. hive> insert into table student values(1,'abc'); Query ID = atguigu_2020081415001 ...
- hive查询hudi表使用count报java.lang.ClassNotFoundException: org.apache.hudi.hadoop.HoodieParquetInputFormat
问题描述: hive 查询hudi 报错, 已将hudi 对应包hudi-hadoop-mr-bundle-0.9.0.jar放入lib目录下并重启hive select count(1) from ...
- java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.views.login_jsp
背景:SpringBoot的项目配置了对jsp的支持,走控制器就报这个错误.相关配置如下: <!-- JSP BEGIN --><dependency> <groupId ...
- 一次java.lang.ClassNotFoundException: org.apache.ibatis.session.SqlSession异常解决
一次整合框架时,出现找不到类的异常,如下图所示 java.lang.NoClassDefFoundError: org/apache/ibatis/session/SqlSession 详细报错信息如 ...
- IDEA里运行代码时出现Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger的解决办法(图文详解)...
问题详情 运行出现log4j的问题 "C:\Program Files\Java\jdk1.8.0_66\bin\java" -Didea.launcher.port=7533 & ...
- 错误: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils
做项目的时候,实现图片异步上传并返回json数据,但是图片上传成功,json数据没有返回,报错: java.lang.ClassNotFoundException: org.apache.commo ...
- java.lang.ClassNotFoundException: org/apache/xerces/parsers/SAXParser
MyEclipse报错: Warning: Caught exception attempting to use SAX to load a SAX XMLReader Warning: Except ...
- Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
1.错误叙述性说明 2014-7-12 0:38:57 org.apache.catalina.core.ApplicationContext log 信息: No Spring WebApplica ...
- 【报错笔记】使用MultipartFile 出现异常:java.lang.ClassNotFoundException: org.apache.commons.fileupload...
使用MultipartFile出现异常:java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory ...
最新文章
- csv.writer写入文件有多余的空行
- jsp 连接access数据库
- python练手经典100例微盘_Python练手项目实例汇总(附源码下载)
- javamail 解码 base64 html格式邮件_python使用QQ邮箱实现自动发送邮件
- CentOS6.x系统挂载NTFS分区的移动硬盘
- mongod启动问题
- 蓝桥杯 ALGO-74 算法训练 连接字符串
- 技术人真的能做一辈子技术么?
- 支持向量回归机(SVR)代码
- IT面试经验:简历上项目经验怎么写?3招教你来包装!
- php三级分销思路 数据库设计_三级分销,
- 判定两个点是否在一条直线的同一侧_帮帮学堂丨高中物理的常用方法、题型特点及应用注意点!建议收藏!...
- meo学习笔记1:编译是什么——程序的执行过程概述
- Java用户账号密码创建登录
- 18天精读掌握《费曼物理学讲义卷一》 第13天 2019/6/29
- spring RestTemplate 实例(NameValuePair)
- 4G七问, 读懂4G的核心问题
- 智慧军营日常办公管理系统软件
- java计算机毕业设计BS架构考研交流学习平台设计与实现MyBatis+系统+LW文档+源码+调试部署
- 实例演示python-docx 读写word文档 段落、图片、表格
热门文章
- IPv6 to IPv4过渡技术——NAT64配置实例
- 专业计算机怎么关机,Win10如何使用快捷键来关机?_win10专业版技巧
- VNC远程控制软件,VNC远程控制软件如何实现批量管理服务器
- 如何批量去除图片水印?批量去水印方法
- 最新的物联网10大深度技术,主要包括哪些技术?
- 运营方法 - 运营的思考方法
- 电路原理 的 一些基础知识
- android logo在线生成工具,在线生成logo
- 爷青回|用Python重构【超级马里奥】制作过程+解析|快收藏起来跟小伙伴一起拯救公主吧~
- 使用SHC命令工具加密Shell脚本