irpas技术客

一次性解决datagrip连接hive报错问题_程序员的三板斧_datagrip连接不上hive

大大的周 4785

先看看具体报错 使用默认的jdbc驱动

报错

[ 08S01] Could not open client transport with JDBC Uri: jdbc:hive2://hadoop102:10000: Could not establish connection to jdbc:hive2://hadoop102:10000: 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}) org.apache.hive.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}).

服务器上的版本是2.1.0

百度了一圈 主要问题就是 jdbc的连接驱动问题,说版本不匹配,然后到hive的lib目录下下载修改hadoop的core-site.xml

截图

还报错? 不应该啊?我驱动版本是对的,我代理也开了?为什么呢?

Missing class org/apache/hive/service/rpc/thrift/TCLIService$Iface.

折腾了很久,换各种jdbc驱动,因为报错的原因就是因为jdbc的驱动问题,以前还下载过cdh的驱动

就是不行,之前连的cdh的驱动虽然能连上,但是执行sql的时候会一直转圈,执行时间特别长

最后~~ 我放弃了,改用DBeaver

很神奇,可以直接连,DBeaver可以自动去拉对应版本的驱动

由于我还是很怀念datagrip,DBeaver写sql太难受了,不能用tab代码提示,还要用回车,格式化也难看,烦 ~~ 于是又回头折腾datagrip

成功了

最后~~~ 灵光乍现~~,我直接拿的DBeaver的驱动不就行了吗?(思维困住了,其实应该早点想到的)

总结:

即使你的jdbc驱动版本对,也不一定可以连接上,为什么?我也不知道(ps:反正该试的都试了)


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #08s01 #could #not #OPEN #client #transport