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>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章