在Hive

时间:2015-05-06 14:49:20

标签: hadoop hive hortonworks-data-platform metastore

我正在尝试使用Hortonworks Sandbox HDP2.2作为单节点系统在Hive 14.0上设置Grant Permissions。这个问题类似于3月未解答的问题:grant permissions in hive does not work on hdp2.2

我按照a Hive-Wiki的配置步骤进行了操作。

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

CREATE ROLE testing;
  

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

如果我与另一个使用hue / beeswax的用户尝试相同,则查询结束。如果我做

SHOW ROLES;

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

  

预期状态结束,但发现ERROR

我的设置是这些(用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 restart 并重新启动了沙盒。

[Edit3]错误消息来自每个用户,不仅仅是root用户(你可以在错误消息中看到它)。如果我尝试使用像“hive”这样的管理员角色(hive-site.xml)的用户,我也会遇到同样的错误。

1 个答案:

答案 0 :(得分:1)

能够让它运行 - thanks to Thejas Nair of Hortonworks

以下是要点:

  • 您应该使用Ambari更改所有设置。
  • 请勿更改 hive.metastore.uris -setting
  • 手动更改 hive.security.authorization.manager hiveserver2-site.xml 属性
  • hiveserver2-site.xml 复制到 /etc/hive/conf.server /
  • 重启hiveserver2
  • 仅使用beeline获取SQL权限