異常
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>