在 Hive 中授予权限
Grant Permission in Hive
我正在尝试使用 Hortonworks Sandbox HDP2.2 作为单节点系统在 Hive 14.0 上设置授予权限。这个问题类似于三月未回答的问题:grant permissions in hive does not work on hdp2.2。
我遵循了 a Hive-Wiki 的配置步骤。
登录配置单元后 shell(使用 root 的 ssh)我试过:
CREATE ROLE testing;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Failed to retrieve roles for root: Metastore Authorization api invocation for remote metastore is disabled in this configuration.
如果我对另一个使用 hue / beeswax 的用户进行相同的尝试,则查询完成。如果我这样做
SHOW ROLES;
我收到此错误,没有任何日志详细信息:
Expected state FINISHED, but found 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 重新启动 并重新启动了沙箱。
[Edit3]每个用户都会收到错误消息,不仅仅是 root 用户(您可以在错误消息中看到)。如果我尝试像 "hive" 这样具有管理员角色 (hive-site.xml) 的用户,我会遇到同样的错误。
能够使其可运行 - thanks to Thejas Nair of Hortonworks。
以下是要点:
- 您应该使用 Ambari 更改所有设置。
- 不要更改hive.metastore.uris-设置
- 手动更改hiveserver2-site.xml属性 of hive.security.authorization.manager
- 复制hiveserver2-site.xml到/etc/hive/conf.server/
- 重启 hiveserver2
- 仅使用直线以获得 SQL 权限
我正在尝试使用 Hortonworks Sandbox HDP2.2 作为单节点系统在 Hive 14.0 上设置授予权限。这个问题类似于三月未回答的问题:grant permissions in hive does not work on hdp2.2。
我遵循了 a Hive-Wiki 的配置步骤。
登录配置单元后 shell(使用 root 的 ssh)我试过:
CREATE ROLE testing;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Failed to retrieve roles for root: Metastore Authorization api invocation for remote metastore is disabled in this configuration.
如果我对另一个使用 hue / beeswax 的用户进行相同的尝试,则查询完成。如果我这样做
SHOW ROLES;
我收到此错误,没有任何日志详细信息:
Expected state FINISHED, but found 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 重新启动 并重新启动了沙箱。
[Edit3]每个用户都会收到错误消息,不仅仅是 root 用户(您可以在错误消息中看到)。如果我尝试像 "hive" 这样具有管理员角色 (hive-site.xml) 的用户,我会遇到同样的错误。
能够使其可运行 - thanks to Thejas Nair of Hortonworks。
以下是要点:
- 您应该使用 Ambari 更改所有设置。
- 不要更改hive.metastore.uris-设置
- 手动更改hiveserver2-site.xml属性 of hive.security.authorization.manager
- 复制hiveserver2-site.xml到/etc/hive/conf.server/
- 重启 hiveserver2
- 仅使用直线以获得 SQL 权限