无法使用 beeline 连接到 hive,用户 root 无法冒充匿名

2024-03-16

我正在尝试使用 beeline 连接到配置单元!connect jdbc:hive2://localhost:10000我被要求提供用户名和密码


Connecting to jdbc:hive2://localhost:10000' Enter username for jdbc:hive2://localhost:10000: Enter password for jdbc:hive2://localhost:10000:


由于我不知道应该输入什么用户名或密码,因此将其留空,这会导致错误:Error: 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 (state=,code=0) 我的设置是 ubuntu 中的单节点 hadoop 集群。 我可以确认 hadoop 和 hiveserver2 服务已启动并正在运行

问题是,我被问到的用户名和密码是什么,在哪里可以找到或设置它们?

提前致谢


您应该提供有效的username and password有权访问 HDFS 和 Hive 服务(user运行 HiveServer2)。对于您的设置,user其中安装了 Hadoop 和 Hive 的用户将是超级用户。

这些凭证将被使用beeline启动与 HiveServer2 的连接。

并且,将这些属性添加到core-site.xml

<property>
  <name>hadoop.proxyuser.username.groups</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.username.hosts</name>
  <value>*</value>
</property>

添加这些属性后重新启动服务。

然后运行beeline使用指定的用户名username如下:

beeline -u jdbc:hive2://localhost:10000 -u username

ref: https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2#SettingUpHiveServer2-Impersonation https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2#SettingUpHiveServer2-Impersonation

或者,您也可以设置参数hive.server2.enable.doAs to false禁用用户模拟。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 beeline 连接到 hive,用户 root 无法冒充匿名 的相关文章

随机推荐