我尝试使用直线!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
问题是,我被问到的这些用户名和密码是什么,我在哪里可以找到它们或设置它们?
提前致谢
答案 0 :(得分:5)
您应该提供有权访问HDFS和Hive服务(username
运行HiveServer2)的有效password
和user
。对于您的设置,安装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>
添加这些属性后重新启动服务。
答案 1 :(得分:0)
在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>