无法使用直线连接到配置单元,用户 root 无法模拟匿名
Cannot connect to hive using beeline, user root cannot impersonate anonymous
我正在尝试使用直线连接到配置单元 !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
和 password
有权访问 HDFS 和 Hive 服务 (user
运行ning HiveServer2)。对于您的设置,安装 Hadoop 和 Hive 的 user
将是超级用户。
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
或者,您也可以将参数 hive.server2.enable.doAs
设置为 false
以禁用用户模拟。
在hive-site.xml需要设置参数hive.server2.enable.doAs为
假
<property>
<name>hive.server2.enable.doAs</name>
<value>FALSE</value>
<description>
Setting this property to true will have HiveServer2 execute
Hive operations as the user making the calls to it.
</description>
</property>
我正在尝试使用直线连接到配置单元 !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
和 password
有权访问 HDFS 和 Hive 服务 (user
运行ning HiveServer2)。对于您的设置,安装 Hadoop 和 Hive 的 user
将是超级用户。
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
或者,您也可以将参数 hive.server2.enable.doAs
设置为 false
以禁用用户模拟。
在hive-site.xml需要设置参数hive.server2.enable.doAs为 假
<property>
<name>hive.server2.enable.doAs</name>
<value>FALSE</value>
<description>
Setting this property to true will have HiveServer2 execute
Hive operations as the user making the calls to it.
</description>
</property>