hiveserver2连接报错:“User: xxx is not allowed to impersonate yyy (state=08S01,code=0)”

    技术2025-04-06  15

    在用 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>

     参考资料:

    [1] Hadoop 2.0中用户安全伪装/模仿机制实现原理

    [2] yunyexiangfeng. . hive启动beeline连接报错: User: xxx is not allowed to impersonate anonymous (state=08S01,code=0)

    [3] 李金泽AllenLi. 博客园. hiveserver2连接报错: User: root is not allowed to impersonate anonymous (state=08S01,code=0)

    Processed: 0.009, SQL: 9