Hive Erstellen, Berechtigungen, w/ Security Aktiviert
Habe ich das setup von Kerberos security model für hive, aber ich bin kämpfen, um die Berechtigungen richtig. Jetzt können Benutzer erstellen und löschen einer Datenbank in Ordnung, aber nicht die Tabelle erstellen:
hive> show databases;
OK
cpenney
default
Time taken: 0.051 seconds, Fetched: 2 row(s)
hive> drop database cpenney;
OK
Time taken: 0.098 seconds
hive> create database cpenney;
OK
Time taken: 0.062 seconds
hive> create table test ( hostgroup STRING );
Authorization failed:No privilege 'Create' found for outputs { database:cpenney}. Use show grant to get more details.
hive> show grant user cpenney on database cpenney;
OK
Time taken: 0.016 seconds
hive> grant all on database cpenney to user cpenney;
OK
Time taken: 0.022 seconds
hive> show grant user cpenney on database cpenney;
OK
database cpenney
principalName cpenney
principalType USER
privilege All
grantTime Thu Sep 05 11:07:59 EDT 2013
grantor [email protected]
Time taken: 0.02 seconds, Fetched: 7 row(s)
hive> create table test ( hostgroup STRING );
Authorization failed:No privilege 'Create' found for outputs { database:cpenney}. Use show grant to get more details.
Verwende ich die folgenden Einstellungen (einige beschnitten aus dieser paste):
<property>
<name>hive.security.authorization.enabled</name>
<value>true</value>
</property>
<property>
<name>hive.security.authorization.createtable.owner.grants</name>
<value>ALL</value>
</property>
<property>
<name>hive.security.metastore.authorization.enabled</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.authorization.storage.checks</name>
<value>true</value>
</property>
<property>
<name>hive.security.metastore.authorization.manager</name>
<value>org.apache.hadoop.hive.ql.security.authorization.DefaultHiveMetastoreAuthorizationProvider</value>
</property>
<property>
<name>hive.security.metastore.authenticator.manager</name>
<value>org.apache.hadoop.hive.ql.security.HadoopDefaultMetastoreAuthenticator</value>
</property>
Es scheint nicht, wie ein Bienenkorb.Sicherheit.die Autorisierung.createtable.Besitzer.gewährt Möglichkeit etwas zu tun. Wenn ich mir in /user/hive/warehouse wird die Datei dem gleichen Benutzer gehören, so dass als richtig erscheint.
Ich bin mit hadoop 1.1.1 und hive 0.11.
Dank!
InformationsquelleAutor Ojo | 2013-09-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Set-Struktur.Sicherheit.die Autorisierung.enabled auf FALSE
Können Sie gewähren, erstellen Sie Ihren Benutzer-Namen.
weitere details: Hive-Autorisierung
Dank,
SSP
InformationsquelleAutor Sourabh Potnis