微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JDBC连接Hive报错User: root is not allowed to impersonate anonymous

异常

java.sql.sqlException: Could not open client transport with JDBC Uri: jdbc:hive2://*****:10000/default: Failed to open new session:java.lang.RuntimeException: 
org.apache.hadoop.ipc.remoteexception(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate anonymous
 

解决方法

修改hadoop 配置文件 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>


hadoop.proxyuser.root.hosts配置项名称中root部分为报错User:* 中的用户名部分
我的报错是hduser,所有我改成:

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

然后使用JDBC对Hive插入数据修改数据时:

 

org.apache.hadoop.security.AccessControlException: Permission denied: user

修改配置hdfs-site.xml文件

<property>
  <name>dfs.permissions.enabled</name>
  <value>false</value>
</property>

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐