我正在尝试使用hortonworks sandbox hdp2.2作为一个节点系统在Hive14.0上设置授予权限。这个问题类似于三月的未回答问题:在hive中授予权限对hdp2.2不起作用。
我遵循了配置单元wiki的配置步骤。
在登录到HiveShell(ssh with root)之后,我尝试了:
CREATE ROLE testing;
失败:执行错误,从org.apache.hadoop.hive.ql.exec.ddltask返回代码1。无法检索根用户的角色:在此配置中禁用了远程元存储的元存储授权api调用。
如果我对另一个使用hue/beeswax的用户尝试同样的方法,查询就完成了。如果我这样做了
SHOW ROLES;
我得到了这个错误,没有任何日志细节:
预期状态已完成,但发现错误
我的设置就是这些(用blanc制作的标签显示在这里)
hive-site.xml(在配置单元wiki链接中列出的那些)
<property>
<name>hive.server2.enable.doAs</name>
<value>false</value>
</property>
<property>
<name>hive.users.in.admin.role</name>
<value>hue,hive</value>
</property>
<property>
<name>hive.security.metastore.authorization.manager</name>
<value>org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider,org.apache.hadoop.hive.ql.security.authorization.MetaStoreAuthzAPIAuthorizerEmbedOnly</value>
</property>
<property>
<name>hive.security.authorization.manager</name>
<value>org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdConfOnlyAuthorizerFactory</value>
</property>
hiveserver2-site.xml(所有设置)
<property>
<name>hive.security.authorization.enabled</name>
<value>true</value>
</property>
<property>
<name>hive.security.authorization.manager</name>
<value>org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory</value>
</property>
<property>
<name>hive.security.authenticator.manager</name>
<value>org.apache.hadoop.hive.ql.security.SessionStateUserAuthenticator</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>''</value>
</property>
<property>
<name>hive.conf.restricted.list</name>
<value>hive.security.authorization.enabled,hive.security.authorization.manager,hive.security.authenticator.manager</value>
</property>
希望有人有主意。
[编辑]hive-site.xml中的设置已经设置-我没有做任何更改。
[edit2]更改设置后,我重新启动了hiveserver2并重新启动了沙盒。
[edit3]错误消息会传递给每个用户,而不仅仅是根用户(您可以在错误消息中看到它)。如果我尝试使用管理员角色(hive site.xml)如“hive”的用户,则会出现相同的错误。
1条答案
按热度按时间zc0qhyus1#
能够使它运行-感谢霍顿工厂的贾斯奈尔。
以下是要点:
你应该用ambari更改所有设置。
不更改hive.metastore.uris-setting
手动更改hive.security.authorization.manager的hiveserver2-site.xml属性
将hiveserver2-site.xml复制到/etc/hive/conf.server/
重新启动hiveserver2
仅对sql权限使用直线