栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

DataGrip连接hive

DataGrip连接hive

报错: 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}).

我遇到这个问题的原因:hive版本与DataGrip里的hive驱动版本不一致

问题解决步骤[正常DataGrip连接hive也可参考]

1.查看hive版本

[root@bigdata105 ~]# locate */hive/lib/hive*jar

可以看到我的hive是1.1.0版本的

2.查看DataGrip中,hive驱动版

点击 Apache Hive

可以看到是3.1.2版本,驱动的版本太高了,所以报错

3.新建一个hive驱动

删除其他驱动文件

选中驱动,然后点击上面的减号即可删除,驱动名Name可以修改

4.拷贝hive中的驱动到DataGrip驱动目录

拷贝到我的DataGrip驱动目录:windows上的C:UsersAdministratorAppDataRoamingJetBrainsDataGrip2021.2jdbc-driversHive1.1

这个目录是可以自己任意指定的,为了方便就放到DataGrip放驱动的目录下。还可以加个版本号文件夹更清晰明了

5.给我们在DataGrip新建的hive驱动指定驱动文件

6.开启hive远程连接服务

[root@bigdata105 hive]# hive --service hiveserver2

这个命令执行后,不能关闭窗口,关闭窗口服务就停止了
可以使用后台运行方式

[root@bigdata105 hive]# nohup hive --service hiveserver2 &

7.连接、测试

DataGrip查询hive表带有where条件时报错:
return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

报错原因:

        ①有可能是hql有问题
        ②yarn资源不足
        ③用户权限不足
我的问题是因为当查询语句里面含有where条件时会启用mr,而mr的过程会有写的过程,而我的连接配置信息里没有指定用户名,默认使用windows用户所以没有写的权限。

解决方法:

修改连接配置信息,添加用户名,一般为hdfs

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/676869.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号