设为首页 加入收藏

TOP

java通过JDBC对hive操作遇到的错误
2019-04-19 13:03:34 】 浏览:55
Tags:java 通过 JDBC hive 操作 遇到 错误
版权声明:转载请注明出处!谢谢。 https://blog.csdn.net/weixin_44634893/article/details/89198799

Caused by: java.lang.RuntimeException:
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException):
User: hadoop is not allowed to impersonate hive

原因:hive不允许匿名用户访问
解决:修改HADOOP_HOME% etc/hadoop/core-site.xml文件,增加

<property>
    	<name>hadoop.proxyuser.root.hosts</name>
    	<value>*</value>
</property>
<property>
    	<name>hadoop.proxyuser.root.groups</name>
    	<value>*</value>
</property>

注意:这里的两个属性的name中的root应改为你的报错信息中usr:* 中的 *,例如我的就改为hadoop.proxyuser.hadoop.hosts和hadoop.proxyuser.hadoop.groups
重启hadoop
问题应该能解决。


通过JDBC对hive操作还遇到代码跑到

conn = DriverManager.getConnection(
					"jdbc:hive2://127.0.0.1:10000/jobanalyze", "hive", "hive");

时就停住了(或者说一直在跑)
在这里插入图片描述
原因:hive的远程服务接口没启动或者启动不成功
解决:在HIVE_HOME% conf/hive-site.xml中加入

<property>
  <name>hive.server2.thrift.port</name>
  <value>10000</value>
</property>
<property>
  <name>hive.server2.thrift.bind.host</name>
  <value>192.168.239.139</value> <!-- 默认是localhost,但我手动改成了本机的ip地址,很可能就是我改了这个才起作用的 -->
</property>

启动hive的远程服务接口(之前如果启动了要先关闭)

hive --service hiveserver2

查看10000端口号的使用

sudo netstat -lanp | grep 10000

在这里插入图片描述
问题解决。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇python向hive插入数据遇到的坑 下一篇执行Hive语句报错:FAILED: Error..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目