Hive报错 | User: root is not allowed to impersonate root (state=08S01,code=0) Beeline version 3.1.2 by Apache Hive
-
错误信息:
-
修改hadoop 配置文件 etc/hadoop/core-site.xml,加入如下配置项
<!-- 表示设置 hadoop 的代理用户-->
<property>
<!--表示代理用户的组所属-->
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<!--表示任意节点使用 hadoop 集群的代理用户 hadoop 都能访问 hdfs 集群-->
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
-
测试后成功
-
原因:主要原因是hadoop引入了一个安全伪装机制,使得hadoop 不允许上层系统直接将实际用户传递到hadoop层,而是将实际用户传递给一个超级代理,由此代理在hadoop上执行操作,避免任意客户端随意操作hadoop
参考:原文链接