1

我正在尝试使用 Hortonworks Sandbox HDP2.2 作为单节点系统在 Hive 14.0 上设置授予权限。这个问题类似于 3 月未回答的问题:在 hive 中授予权限在 hdp2.2 上不起作用

我遵循了 Hive-Wiki的配置步骤。

登录到 hive shell(使用 root 的 ssh)后,我尝试了:

CREATE ROLE testing;

失败:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。无法为 root 检索角色:此配置中禁用了远程 Metastore 的 Metastore 授权 api 调用。

如果我对另一个使用色调/蜂蜡的用户尝试相同的操作,则查询完成。如果我做

SHOW ROLES;

我收到此错误,没有任何日志详细信息:

预期状态已完成,但发现错误

我的设置是这些(用 blanc 制作标签以在此处显示)

  • hive-site.xml(在 hive-wiki-link 中列出的那些)

    <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]错误消息会出现在每个用户身上,不仅是 root 用户(你可以在错误消息中看到它)。如果我尝试具有管理员角色(hive-site.xml)的用户,例如“hive”,我会遇到同样的错误。

4

1 回答 1

1

能够使其可运行 -感谢Hortonworks的Thejas Nair

以下是要点:

  • 您应该使用 Ambari 更改所有设置。
  • 不要更改hive.metastore.uris -setting
  • 手动更改hive.security.authorization.manager 的hiveserver2 -site.xml属性
  • hiveserver2-site.xml复制到/etc/hive/conf.server/
  • 重启 hiveserver2
  • 仅对 SQL 权限使用直线
于 2015-05-13T08:04:06.490 回答