使用HiveServer2 and Beeline模式运行时,启动好HiveServer后运行 beeline -u jdbc:hive2://localhost:10000 -n root 连接server时
出现
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:* 中的用户名部分
例如User: zhaoshb is not allowed to impersonate anonymous则需要将xml变更为如下格式
<property> <name>hadoop.proxyuser.zhaoshb.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.zhaoshb.groups</name> <value>*</value> </property>
- 重启hadoop
- 测试:./beeline -u 'jdbc:hive2://localhost:10000/userdb' -n username(替换为上述的用户名部分)
本文介绍了解决HiveServer2使用Beeline客户端连接时出现的“Userrootisnotallowedtoimpersonateanonymous”错误的方法。通过修改Hadoop配置文件core-site.xml中的hadoop.proxyuser.root.hosts和hadoop.proxyuser.root.groups配置项来允许特定用户代理匿名用户。
4312

被折叠的 条评论
为什么被折叠?



