在用 hive 的 beeline 或者用 DBeaver 远程连接 hiveserver2 的时候,会报这样类似的错误:
User: xxx is not allowed to impersonate yyy (state=08S01,code=0)
解决办法:
在hadoop的配置文件core-site.xml中添加或者修改如下配置信息,再重启hadoop和相关软件应该就可以了。
<property>
<name>hadoop.proxyuser.xxx.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.xxx.groups</name>
<value>*</value>
</property>
注意:
这里的xxx对应的是User报错中的主语xxx
在这里配置可以超级代理“xxx”操作hadoop的用户、用户组和主机,这里用通配符表示所有
例如User: dxy is not allowed to impersonate hive则需要将xml变更为如下格式
<property> <name>hadoop.proxyuser.dxy.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.dxy.groups</name> <value>*</value> </property>
参考资料: